程序运行错误,但并不明白报错的意思
查看原帖
程序运行错误,但并不明白报错的意思
464739
冰封侠楼主2021/5/22 21:49

刚开始学习编程,并不知道以下该程序运行时报错的意思和解决方法,希望能有哪位高人指点,谢谢!

#include<iostream>
using namespace std;
int mian() {
    int a, b;
    cin >> a >> b;
    if (a <= 5 && b >= 5)cout << 5 << endl;
    if (a <= 7 && b >= 7)cout << 7 << endl;
    if (a <= 11 && b >= 11)cout << 11 << endl;
    //考虑两位数以内的回文质数

    for (int d1 = 1; d1 <= 9; d1 += 2)
        for (int d2 = 0; d2 <= 9; d2++) {
            int num = 100 * d1 + 10 * d2 + d1;
            if (num < a)continue;
            if (num > b)return 0;
            //枚举可能的数字
            int flag = 1;
            for (int j = 3; j * j <= num; j++)
                if (num % j == 0) {
                    flag = 0; break;
                }
            if(flag)
                cout << num << endl;
        }
//考虑3位数的回文质数
    for (int d1 = 1; d1 <= 9; d1 += 2)
        for (int d2 = 0; d2 <= 9; d2++)
            for (int d3 = 0; d3 <= 9; d3++) {
            int num = 10000 * d1 + 1000 * d2 + 100 * d3 + 10 * d2 + d1;
            if (num < a)continue;
            if (num > b)return 0;
            //枚举可能的数字
            int flag = 1;
            for (int j = 3; j * j <= num; j++)
                if (num % j == 0) {
                    flag = 0; break;
                }
            if(flag)
                cout << num << endl;
        }
//考虑5位数的回文质数

      for (int d1 = 1; d1 <= 9; d1 += 2)
        for (int d2 = 0; d2 <= 9; d2++)
            for (int d3 = 0; d3 <= 9; d3++)
            for (int d4 = 0; d4 <= 9; d4++) {
            int num = 1000000 * d1 + 100000 * d2 + 10000 * d3
            + 1000 * d4 + 100 * d3 + 10 * d2 + d1;
            if (num < a)continue;
            if (num > b)return 0;
            //枚举可能的数字
            int flag = 1;
            for (int j = 3; j * j <= num; j++)
                if (num % j == 0) {
                    flag = 0; break;
                }
            if(flag)
                cout << num << endl;
            }
    return 0;
}

2021/5/22 21:49
加载中...