问题描述:
素数是数学中重要的一类数,一天,李老师想考考同学们判断素数的能力,
任给出了一个正整数 N,要求同学们找出 1 至 N 之间所有的素数,并统计共有多
少个素数。
数据输入:
从文件 sushu.in 中读入数据,只有一个正整数 N( 1 < N < 35000 )。
数据输出:
结果输出到文件 sushu.out 中,有两行,第一行为所找出的素数(数字之间
用一个空格隔开),第二行为一个数表示所找到素数的个数。
输入输出样例
Sushu.in
10
Sushu.out
2 3 5 7
4
思路:
暴力直接搞,反正n这么小
C o d e Code Code:
#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;
int n,sum;
int js (int n)//判断是否为素数
{
if (n == 0 || n == 1) return 0;
for (int i = 2; i * i <= n ;++i)
if (n % i == 0) return 0;
return 1;
}
int main ()
{
freopen ("sushu.in","r",stdin);
freopen ("sushu.out","w",stdout);
scanf("%d", &n);
for (int i = 0; i <= n ; ++i)
if (js (i)) printf("%d ", i),sum++; //累加
printf("\n%d",sum);
return 0;
}