怎样用c语言输出1~n间素数的个数

如题所述

#include<stdio.h>
int
main()
{
int
n,i,j,num=0;/*计数器num*/
scanf("%d",&n);
for(i=1;i<=n;i++)/*遍历1~n间的数*/
{
for(j=2;j<=i/2;j++)/*逐一判断是否能被除了1和本身之外的数整除*/
{
if(i%j==0)
{
num++;/*找到则计数器自增*/
break;/*比对下一个数*/
}
}
}
printf("%d",num);/*输出个数*/
getch();
return
0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-04
楼主知道素数的含义吗?
每一个程序都有算法,算法知道了程序就好写了给你算法,这样跟你说如果1-n直接的数能被2,3,4,,,,sqrt(n)整除就不是素数就结束算法,不能除尽就是素数,可以用while这个循环语句,中间加上break语句,不是很难,先弄懂怎么判断一个数是素数的算法,就好写了,就这样,我是菜鸟帮你只有这么多