寻找质因子
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
叶大神,酷爱数学,一天数学老师给他出了一个题目:给你一个正整数n,让他求出这个数字n的所有质因子。
输入
正整数 n(2 <= n && n <= 1000)
输出
n包含的所有的质因子,质因子之间用空格隔开,最后一个后面没有空格。
示例输入
3 5 6
示例输出
3 5 2 3
提示
PS:在数论里,某一正整数的质因子指能整除该数的质数整数。(源自百度百科)
来源
xfl
示例程序
#include<stdio.h>
int main()
{
int Prime[1001],b[1001];
Prime[0] = 0;
Prime[1] = 0;
int i, j,n,k;
for (i=2; i<1001; i++)
{
Prime[i] = 1;
}
for (i=2; i<1001; i++)
{
if (Prime[i] == 1)
{
for (j=i*2; j<1001; j+=i)
{
Prime[j] = 0;
}
}
}
j=0;
for(i=2;i<1001;i++)
if(Prime[i]==1)
{
b[j]=i;
j++;
}
while(scanf("%d",&n)!=EOF)
{
k=0;
for(i=0;i<j&&n>=i;i++)
{
if(n%b[i]==0&&k==0)
{
printf("%d",b[i]);
k=1;
}
else if(n%b[i]==0&&k!=0)
printf(" %d",b[i]);
}
printf("\n");
}
}