大神们帮忙debug一下,看看在下哪里错了。。。
查看原帖
大神们帮忙debug一下,看看在下哪里错了。。。
533488
Immortal_Xiao楼主2021/8/27 21:40

话不多说,先上代码:

#include <bits/stdc++.h>
using namespace std;

int a, tyi, cur, pn[5200];
double tyd;
bool pb[50000];

int main()
{
    memset(pb, true, sizeof(pb));
    for (int i = 1; i <= 44721; i++) // 为了节省运行时间,特地算的44721(拿计算器)
    {
        if (!pb[i])
        {
           continue; 
        }
        else
        {
            pn[++cur] = i;
            for (int i = 1; i <= 50000; i += pn[cur])
                pb[i] = false;
        }
    }
    cin >> a;
    for (int i = 1; i <= cur; i++)
    {
        tyi = 1.0 * a / pn[i];
        tyd = 1.0 * a / pn[i];
        if (tyi == tyd)
        {
            cout << max(tyi, pn[i]) << endl;
        }
    }
    return 0;
}

大神们帮忙debug一下,看看在下哪里错了。。。

2021/8/27 21:40
加载中...