解题思路:可以直接每次循环都判断素数,也可以先列出素数表,刚学的,所以这个表不是太会,但是也正确,肯定有比较优化的,也恳请改正
注意事项:
参考代码:
#include <stdio.h>
int main()
{
int isPrime[10001],Prime[10001];
int i,j,n;
for(i=2;i<10000;i++)
isPrime[i]=1;
for(i=2;i<5001;i++)
{
if(isPrime[i])
{
for(j=i+i;j<10001;j+=i)
{
isPrime[j]=0;
}
}
}
scanf("%d",&n);
for(i=2,j=0;i<=n/2;i++)
{
if(isPrime[i]&&n%i==0)
Prime[j++]=i;
}
for(i=0;i<j;i++)
printf("%d ",Prime[i]);
return 0;
}
0.0分
0 人评分
简单编码 (C++代码)浏览:730 |
C语言训练-素数问题 (C语言代码)浏览:1695 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:634 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:699 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:768 |
简单的a+b (C语言代码)浏览:661 |
1642题解浏览:784 |
1011题解浏览:819 |
C二级辅导-阶乘数列 (C语言代码)浏览:583 |