<cpp 从零学起:1>输出100内素数

从零学期有点过了,至少学了两年的C#和C,虽然学得不咋滴但还算是入门了,C++ primer 的前几页就草草的看了。

看到cout/cin这里的时候想了想不就像printf/scanf一样的功能,我浮躁的内心终于淡定不住了,想想学C的时候用输入输出就可以写好多东西了。

挑了个简单的,输出100以内的素数。作为马上要大三的学生我表示压力很大,这个算法我居然写了很长时间...

看着有点蹩脚关键是能够输出了

primePractics.cc===================
#include<iostream>

int main()
{
int a=2;
int i=0;
while(a<=100)
{
for(i=2;i<=100;i++)
  if(a!=i)
  if(a%i==0)
    
break;
if(i==101)
   std::cout
<< a << " ";
a
++;
}
std::cout
<< std::endl;
return 0;
}

算法神马的,写一次忘一次,看来以后要多多练手啊,过一会再写个二分查找,二插树什么的。感觉大部分语法都和C一样。

用g++编译执行后:

 $ g++ primePractics.cc -o prime
 $ ./prime 
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

感谢 无冰蚂蚁 的评论,修改了之前的算法。因为大于它就不可能整除它,而偶数不是素数。

 1 #include<iostream>
2 int main()
3 {
4 int a=2;
5 int i=0;
6 while(a<100)
7 {
8 if(a%2==0 && a!=2)
9    a++;
10 for( i=2;i<a;i++)
11    if(a!=i)
12     if(a%i==0)
13      break;
14 if(i==a)
15    std::cout << a << " ";
16
17 a++;
18 }
19 std::cout << std::endl;
20 return 0;
21 }

修改后结果相同。

原文地址:https://www.cnblogs.com/agentgamer/p/2123822.html