FrankDUO 发表于 2017-9-11 16:22:36

新手求助!

请问如何用C++求1到100的素数,由于还没有学习函数,只能循环,求大神指教!到第二重循环的时候就不知道怎么办了!

ba21 发表于 2017-9-11 19:04:40

//质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;

#include <iostream>

using namespace std;

void main()
{
    int LNUM;
        bool flag=false;

        cout << "请输入一个整数:";
    cin >> LNUM;

        cout << 2 << endl; //先输出最小的素数2

        for(int i=3; i<=LNUM; i++) //被除数:要判断的范围。2为最小的素数,不加入判断
        {               
                for (int j=2; j<i; j++) //除数:1能被任何数整除,不加入判断
                {
                        if(i%j == 0) // 循环从2 除到 i-1(j)
                        {
                                flag = false; //如果出现能整除的数,说明不是素数,置flag标志为false,中断循环,继续下1个数字的判断
                                break;
                        }
                        flag = true; //如果从2 除到 i-1(j)都没有能整除的数,说明是素数。置flag标志为true
                }

                if (flag) //flag 为true 说明素数;输出结果
                {
                        cout << i << endl;
                }
        }
   
}

FrankDUO 发表于 2017-9-13 14:29:16

谢谢大神,不过请问一下 bool flag=false; 这是什么意思呀?
页: [1]
查看完整版本: 新手求助!