白皮书&&因子和阶乘

原创 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;
}


相关文章推荐

【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
  • 285

因子和阶乘

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

L1-006. 连续因子_阶乘

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

POJ 1845 Sumdiv(求阶乘的因子和)

题目链接:http://poj.org/problem?id=1845

习题 47:因子分解阶乘版★

题目描述: 给你一个小于10000的非负整数n,然后对n!的结果进行因子分解 输入: 多组测试数据,每行就是数值n 输出: 输出分解结果,详见样例 样例输入: 1...

51 NOD 1189 阶乘分数(素因子分解+推公式+求逆元)

传送门 1189 阶乘分数 题目来源: Spoj 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 1/N! = 1/X + 1/Y,给出N,求满足条件的整...

算法竞赛入门经典:第五章 基础题目选解 5.10 因子和阶乘

/* 因子和阶乘: 输入正整数n(2

阶乘因子和

题目描述 给你一个正整数n,把n!=1x2x3x.....xn分解成素因子相乘的形式,并从小到大输出每个素因子的指数,但要保证最后输出的素因子个数不为0。例如825应表示为0,1,2,0,1表示...
  • ly59782
  • ly59782
  • 2015年11月13日 18:51
  • 277

工大C++ 精品课程上机考(第三题) - 阶乘中含因子2的个数

这题刚开始想的时候,是觉得只要计算偶数,比如5!,只要考虑2,4中含有因子2的个数,再加起来。但看到“输入一个整数n(n 其实可以这样考虑,比如计算8!,其中含有2因子的有三种,一种是只含有因子2(2...

NYOJ 509 因子和阶乘

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

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