问题描述:
编一个程序,计算 1∼𝑛1∼n 范围内素数的个数。
输入:
包括多组数据(不超过 100100 组),每组数据仅有一个整数 𝑛n ( 1≤𝑛≤1001≤n≤100 ),输入以 00 结束。
输出:
对于每组数据输入,输出一行,为 1∼𝑛1∼n (包括 𝑛n )之间的素数的个数。
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i=0,m;
cout<<"一共有点多少组数据需要判断素数个数?" <<endl;
cin>>n;
m=n;
int arr[n];
cout<<"分别是:" <<endl;
for(int n=0;n<m;n++)
{
scanf("%d",&arr[n]);
}
for(int n=0;n<m;n++)
{
i=0;
if(arr[n]==0)
break;
//printf("%d\n",arr[n]);
for(int j=2;j<=arr[n];j++)
{
//cout<<"j为:"<<j<<endl;
for(int x=2;x<=j;x++)
{
// cout<<"x为:"<<x;
if(j==x)
i++;
if(j%x==0)
break;
}
// cout<<endl;
}
cout<<arr[n]<<"的范围内素数个数为"<<i<<endl;
}
return 0;
}
结果展示: