解题思路:这题十分简单,考的知识点是素数筛选表。
1、设一个bool函数,来判断是否为素数。
bool cheack(int a){
for(int i=2;i*i<=a;i++)
if(a%i==0) return false;
return true;
}
2、用一个for循环来枚举素数。
for(int i=2;i<=a;i++)
if(cheack(i))
cout<<i<<endl;
3、优化,因为除了2以外的偶数,都是合数,就直接跳过。
for(int i=3;i<=a;i+=2)
if(cheack(i))
cout<<i<<endl;
注意事项:
因为优化之后,很多人可能会把2这个素数忘掉,所以,事先先输出2.
cout<<2<<' ';
for(int i=3;i<=a;i+=2)
if(cheack(i))
cout<<i<<endl;
参考代码:
//以下为参考代码
#include <iostream>
using namespace std;
bool cheack(int a){
for(int i=2;i*i<=a;i++)
if(a%i==0) return false;
return true;
}
int main()
{
int a;
cin>>a;
cout<<2<<' ';
for(int i=3;i<=a;i+=2)
if(cheack(i))
cout<<i<<endl;
return 0;
}
0.0分
3 人评分
C语言训练-数字母 (C语言代码)浏览:649 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:886 |
字符逆序 (C语言代码)浏览:621 |
简单的a+b (C语言代码)浏览:631 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:520 |
敲七 (C语言代码)浏览:2701 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:677 |
WU-C语言程序设计教程(第三版)课后习题12.3 (C++代码)浏览:863 |
众数问题 (C语言代码)浏览:630 |
半数集问题 (C语言代码)浏览:921 |