白皮书&&因子和阶乘

原创 2012年03月28日 09:05:25

因子和阶乘

时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述
给你一个正整数n,把n!=1x2x3x.....xn分解成素因子相乘的形式,并从小到大输出每个素因子的指数,但要保证最后输出的素因子个数不为0。例如825应表示为0,1,2,0,1表示分别有0,1,2,0,1个2,3,5,7,11。
输入
第一行有一个整数n(0<n<10000),表示有n组测试数据;
接下来n行每行有一个整数 m(0<m<10000)
输出
从小到大输出m分解成素因子相乘后各个素因子对应的指数
样例输入
2
5
53
样例输出
3 1 1
49 23 12 8 4 4 3 2 2 1 1 1 1 1 1 1 
AC代码:
#include<cstdio>
#include<iostream>
#include<string.h>
using namespace std;
bool a[10005]={1,1,0,0};
int prim[1500];
int p[1500];
int count;
void is_prim()
{
	for(int i=2;i*i<=10005;++i)
		if(!a[i])
		for(int j=2*i;j<=10005;j+=i)
			a[j]=1;
	   count=0;
	  for(int i=2;i<=10005;++i)
		  if(!a[i])  prim[count++]=i;
}
int main()
{
	int T;
	scanf("%d",&T);
	is_prim();
	while(T--)
	{
		int n;
		scanf("%d",&n);
		memset(p,0,sizeof(p));
		int maxn=0;
		for(int i=2;i<=n;++i)
		{
			int m=i;
			for(int j=0;j<count&&m!=1;++j)
			while(m%prim[j]==0)
				{  p[j]++;
				   m/=prim[j];
				   maxn=max(maxn,j);
				 }
		}
		for(int i=0;i<=maxn;++i)
			printf("%d ",p[i]);
		    printf("\n");
		}return 0;
}


区块链uc berkeley白皮书总结

区块链uc berkeley白皮书总结 区块链本质上是,记录了所有交易或者数字事件的分布式数据库,也可以认为是一部公共账簿,可以由所用的参与方访问并且记录。而账簿上每一笔交易的添加,需要通过整个交易体...
  • pony_maggie
  • pony_maggie
  • 2017年01月14日 22:28
  • 2628

BigchainDB白皮书,中文翻译

BigChainDB:可扩展区块链数据库 这篇白皮书介绍BigChainDB。BigChainDB填补了去中心生态系统中的一个空白:是一个可用的去中心数据库。它具有每秒百万次写操作,存储PB级别的数...
  • fengqing79
  • fengqing79
  • 2017年04月13日 09:43
  • 3087

afl-fuzz技术白皮书

通过在编译期间instrument一些指令来捕获branch (edge) coverage和运行时分支执行计数。...
  • gengzhikui1992
  • gengzhikui1992
  • 2016年03月10日 15:37
  • 6482

L1-006. 连续因子_阶乘

L1-006. 连续因子 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序...
  • yuege38
  • yuege38
  • 2017年04月03日 10:38
  • 126

hdoj 4196 Remoteland 【阶乘因式分解中质因子个数 + 费马小定理】

Remoteland Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/131072 K (Java/Others) To...
  • chenzhenyu123456
  • chenzhenyu123456
  • 2015年09月23日 13:50
  • 408

【py交易】算法竞赛入门经典5.4.2 因子和阶乘 Python

题目: 分析:0.825除以2,除不尽(共0次);除以3,能除尽,再除以3,除不尽(共1次);除以5,能除尽,再除以5,能除尽,再除以5,除不尽(共2次)。。。所以为01201 1.输入一...
  • benrciv
  • benrciv
  • 2016年11月23日 00:07
  • 311

对于因子和阶乘问题的理解

因子和阶乘讨论的是这样的一个问题: 输入正整数n(2 表示分别有0、1、2、0、1个2、3、5、7、11。程序应忽略比最大素因子更大的素数(否则末尾会有无穷多个0) 先贴上代码: #inclu...
  • allenxinjian
  • allenxinjian
  • 2015年07月08日 23:48
  • 120

因子和阶乘

输入正整数n(2-100),把n!=1*2*3....n分解成素因子相乘的形式,从小到大输出各个素数(2,3,5...)的指数。 样例输入: 5 样例输出: 5!= 3  1  1 package...
  • kirrin
  • kirrin
  • 2012年04月12日 10:25
  • 544

POJ 2992 Divisors (快速求阶乘的素因子)

题目意思很明确, 就是求C(k , n) (0 ≤ k ≤ n ≤ 431)的因子个数,保证答案不会超long long。很容易想到用唯一分解定理来求解 , 想办法将C(k , n)变为 p1^...
  • u013961718
  • u013961718
  • 2015年09月10日 13:28
  • 317

NYOJ 509 因子和阶乘

因子和阶乘 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给你一个正整数n,把n!=1x2x3x.....xn分解成素因子相乘的形式,并从小到大输出...
  • qq523176585
  • qq523176585
  • 2013年12月20日 19:23
  • 332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:白皮书&&因子和阶乘
举报原因:
原因补充:

(最多只允许输入30个字)