• <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 }

    修改后结果相同。

  • 相关阅读:
    openjudge666:放苹果—题解
    欢迎来到路由器的世界!这里是开端
    Codevs1169:传纸条——题解
    POJ3498:March of the Penguins——题解
    模板:并查集
    模板:快速幂
    模板:排序(三)
    程序员之间的鄙视链
    自动化测试的成本高效果差,那么自动化测试的意义在哪呢
    自动化测试的成本高效果差,那么自动化测试的意义在哪呢
  • 原文地址:https://www.cnblogs.com/agentgamer/p/2123822.html
Copyright © 2020-2023  润新知