• c++用筛法求100之内素数。


    1、用筛法求100之内素数。

    相关知识:

    用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。
    
    如有:
    
    1 2 3 4 5 6 7 8 9 10
    
    11 12 13 14 15 16 17 18 19 20
    
    21 22 23 24 25 26 27 28 29 30
    
    1不是素数,去掉。剩下的数中2最小,是素数,去掉2的倍数,余下的数是:
    
    3 5 7 9 11 13 15 17 19 21 23 25 27 29
    
    剩下的数中3最小,是素数,去掉3的倍数,如此下去直到所有的数都被筛完

    编程要求:

    根据提示,在右侧编辑器补充代码,输出100以内所有素数。

    预期输出:

        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 

    程序源码:

    #include <iostream>
    #include <iomanip>
    using namespace std;
    #include <math.h>
    
    
    int main()
    {
        
        // 请在此添加代码
        /********** Begin *********/
        int count=0,susu=1;
        for(int i=2;i<100;i++)
        {
            for(int j=2;j<=i/2;j++)    //只需要循环到原本数的一半即可
            {
                if(i%j==0)
                {
                    susu=0;
                    break;
                }    
            }
    
            if(susu)    
            {
                printf("%5d ",i);
                count++;
                if(count==10)    //输出10个数就换行
                {
                    count=0;
                    printf("
    ");
                }
            }
            susu=1;
        }
        /********** End **********/
        return 0;
    }
  • 相关阅读:
    (16)C#继承
    (3)新概念英语一(11-20)lessons
    (15)C#集合
    (14)编码
    (2)新概念英语一(1-10)lessons
    (13)C#数组和元组
    Uva 11729 Commando War
    Uva 11292 Dragon of Loowater
    谈谈单元最短路
    [USACO 3.3.1]骑马修栅栏t
  • 原文地址:https://www.cnblogs.com/junfblog/p/12705481.html
Copyright © 2020-2023  润新知