c++求一定范围内的质数

该篇文章介绍了如何使用C++编写一个程序,用户输入两个整数范围,程序会找出该范围内的质数数量。同时,程序还包括输入验证和范围处理,确保计算效率和用户交互的合理性。
摘要由CSDN通过智能技术生成

#include<iostream>
using namespace std;
int main()
{
    int num1, num2;

    do
    {
        char  a;//判断是否再次输入
        cout << "请输入范围" << endl;
        cin >> num1 >> num2;
        int c = num1 - num2;//判断范围是否大于10000
        int i = min(num1, num2), m = max(num1, num2);//计算是否为素数
        int count = 0;//记录质数数目
        int flag=0;//多次判断是否再次进行时,用于跳出循环
        if (c > 10000 || c < -10000)
        {
            cout << "可能会花费较长计算时间,请重新输入" << endl;
            cout << "重新输入请键入“Y”,不重新输入请键入“N”,输入其他无效" << endl;
            cin >> a;
            if (a == 'Y')
            {
                continue;
            }
            else if (a == 'N');
            else while (1)
            {
                cout << "输入无效,请重新输入" << endl;
                cout << "重新输入请键入“Y”,不重新输入请键入“N”,输入其他无效" << endl;//再次提醒是否输入
                cin >> a;
                if (a == 'Y')
                {
                    flag = 1;
                    break;
                }
                if (a == 'N')
                {
                    break;
                }
                else
                    continue;
            }
            if (flag == 1)
                continue;
        }

        if (num1 == num2)
        {
            cout << "两数相同,请重新输入。" << endl;
            continue;
        }

        for (i; i < 2*m; i++)
        {
            if (i <= 1)
                continue;
            int z = 0;
            for (z = 2; z <=i; z++)
            {
                if (i % z == 0)
                    break;
                if (z < i - 1)
                    continue;
                cout << i << " ";//间隔为一个空格输出质数
                count++;
            }

        }
        cout << endl;//换行
        cout << num1 << "和" << num2 << "之间的质数个数为" << count << endl;
    } while (1);
    return 0;
}

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值