从零学期有点过了,至少学了两年的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 }
修改后结果相同。