编写一个程序,输出1~1000之内所有的素数(注意:素数即质数)及个数(C语言)
3个回答
展开全部
源代码如下:
#include <stdio.h>
#include <math.h>
void main()
{
int n=0, i, j,w,k;
for(i=2;i<=1000; i++)
{
w=1;
k=sqrt(i);
for (j=2; j<=k; j++)
if (i%j==0) {w=0;break;}
if (w) {
++n;
if (n%10==0) printf("%d\n",i);
else printf("%d\t",i);
}
扩展资料
1、素数使用for循环查找2-1000以内的所有素数,循环次数为999次,在for循环中添加一个移位寄存器用以存储所有的素数,其初始值为一个空数组。
2、在循环内部逐个数判断是否为素数,若是素数,则使用"数组插入.vi"函数添加到移位寄存器的数组中,否则,移位寄存器中的值保留为上次的值。
展开全部
刚好在做C++,顺便帮你做下,望采纳!
#include <stdio.h>
main()
{
int a,i,sum=0;
printf("素数:\n");
for (a=1;a<=1000;a++)
{
for (i=2;i<=(a-1);i++)
if (a%i==0)
break;
if (i>=a)
{
sum++;
printf("%d\n",a);
}
}
printf("\n素数的个数:%d\n",sum);
}
#include <stdio.h>
main()
{
int a,i,sum=0;
printf("素数:\n");
for (a=1;a<=1000;a++)
{
for (i=2;i<=(a-1);i++)
if (a%i==0)
break;
if (i>=a)
{
sum++;
printf("%d\n",a);
}
}
printf("\n素数的个数:%d\n",sum);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int i,n=0,j,m=0;
for(i=2;i<=1000;i++)
{
for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
{
printf("%3d ",i);
n++;
m++;
}
if(n==8)
{
printf("\n");
n=0;
}
}
printf("共有%d个素数\n",m);
getchar();
return 0;
}
int main()
{
int i,n=0,j,m=0;
for(i=2;i<=1000;i++)
{
for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
{
printf("%3d ",i);
n++;
m++;
}
if(n==8)
{
printf("\n");
n=0;
}
}
printf("共有%d个素数\n",m);
getchar();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询