3827 - 第六章:函数的使用《练习3:计算素数个数》
时间限制 : 1 秒
内存限制 : 128 MB
输入整数n,计算1……n之内所有素数的个数。
这里给出提示:给出n,输出1至n所有的素数。
include<cstdio>
using namespace std;
int panduan(int x)
{
if(x<=1) return 0;
for(int i=2;i<= x-1;i++)
{
if( x%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int n,k,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(panduan(i)==1)
{
printf("%d\n",i);
}
}
return 0;
}
题目输入
题目输出
输入/输出样例
输入格式
10
输出格式
4
C语言解答
#include <stdio.h> #include <stdlib.h> #include <math.h> char prime[1000000]={0}; int main() { int i,n,j,num=0; scanf("%d",&n); for(i=2;i<=sqrt(n)+1;i++) { for(j=i+i;j<=n;j+=i) prime[j]=1; } prime[1]=1;prime[2]=0; for(i=1;i<=n;i++) if(prime[i]==0) num++; printf("%d",num); return 0; }
C++解答
#include<cstdio> #include<cmath> using namespace std; int panduan(int x) { if(x<=1)return 0; for(int i=2;i<=sqrt(x);i++) { if(x%i==0)return 0; } return 1; } int main() { int n,i,s=0; scanf("%d",&n); for(i=1;i<=n;i++) { if(panduan(i)==1)s++; } printf("%d",s); return 0; }