c++ 设计程序找出1-1000中的质数并统计个数 求大神
展开全部
代码如下:
/*
计算1~N之间的素数,并且打印个数和每一行八个,利用普通法计算,没有用筛选法,速度不快
*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define MAX 10000001//设置数组大小号
#define N 1000//选择计算的范围
int prime[MAX];
int main()
{
int i,j, num= 0;
prime[num] =2;//登记素数2
for(i=3; i<=N; i+=2)//开始计算3开始的素数
{
for(j=3; j<=sqrt(i); j+=2)
if( i%j==0 )
break;
if( j>sqrt(i) )
prime[++num] = i;//把素数存入数组
}
printf("%d内共有%d个素数:\n",N,num+1);//打印素数个数
for(i=0; i<N; i++)
if( prime[i] )
{
printf("%8d ",prime[i]);
if((i+1)%8==0)//每显示八个换行
printf("\n");
}
printf("\n");
system("pause");
return 0;
}
/*
计算1~N之间的素数,并且打印个数和每一行八个,利用普通法计算,没有用筛选法,速度不快
*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define MAX 10000001//设置数组大小号
#define N 1000//选择计算的范围
int prime[MAX];
int main()
{
int i,j, num= 0;
prime[num] =2;//登记素数2
for(i=3; i<=N; i+=2)//开始计算3开始的素数
{
for(j=3; j<=sqrt(i); j+=2)
if( i%j==0 )
break;
if( j>sqrt(i) )
prime[++num] = i;//把素数存入数组
}
printf("%d内共有%d个素数:\n",N,num+1);//打印素数个数
for(i=0; i<N; i++)
if( prime[i] )
{
printf("%8d ",prime[i]);
if((i+1)%8==0)//每显示八个换行
printf("\n");
}
printf("\n");
system("pause");
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询