Famoushake 2022-06-14 16:47 采纳率: 100%
浏览 25
已结题

c++语言while语句如何添加素数2

有个题目是这样的:输出1000以内所有素数(素数定义:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数或者质数)

我写的代码是这样的:
#include
#include
#include <math.h>

using namespace std;
int main(void)
{
int count = 0;
int num1 = 2;
int num2 = 2;

while (num1<=1000)
{
    bool su = false;
    num2 = 2;
    while(num2 < num1)
    {
        if(num1 % num2 != 0)
        {
            su = true;
        }else{
            su = false;
            break;
        }
        
        num2 += 1;
    }
    if (su == true)
    {
        count += 1;
        cout << num1 << "   ";
    }
    num1 += 1;  
}
cout << count << endl;

}

运行结果少个一个2,如何在此基础上,把素数2放进去,规定只能用while语句哦

  • 写回答

2条回答 默认 最新

  • 浪客 2022-06-14 17:09
    关注
    有注释的是修改的地方
    
    int main(void)
    {
        int count = 0;
        int num1 = 2;
        int num2 = 2;
    
        while (num1 <= 1000)
        {
            bool su = true; //
            num2 = 2;
            while (num2 < num1)
            {
                if (num1 % num2 == 0) //
                {
                    su = false;
                    break;
                }
    
                num2 += 1;
            }
            if (su || num1 == 2) ///
            {
                count += 1;
                cout << num1 << "   ";
            }
            num1 += 1;
        }
        cout << '\n' << count << endl; ///
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月23日
  • 已采纳回答 6月15日
  • 创建了问题 6月14日