0分求助
查看原帖
0分求助
1174487
wwdsas楼主2024/10/27 16:56
#include <bits/stdc++.h>
using namespace std;

bool sushu(int n)
{
    for (int i=2; i<=sqrt(n); i++)
    {
        if (n % i == 0)
        {
            return false;
        }
    }
    return true;
}

int main()
{
    long long m, n;
    cin >> m >> n;
    vector<long long> p;

    for (int i=m; i<=n;i++)
    {
        if (sushu(i))
        {
            p.push_back(i);
        }
        else
        {
            vector<long long> s;
            for (int j=2;j<=i/2;j++) 
            {
                if (i%j==0 && j%2!= 0)
                {
                    s.push_back(j);
                }
            }
            
            if(s.empty() && i%2==0)
            {
                p.push_back(2);
            }
            else if (!s.empty())
            {
                long long Max=s[0];
                for (int k=1; k<s.size();k++)
                {
                    Max=max(Max, s[k]);
                }
                p.push_back(Max);
            }
        }
    }

    for (int i = 0; i < p.size(); i++) 
    {
    cout<< p[i];
    if (i<p.size()-1)
     { 
        cout << ","; 
     }
}

return 0;

}

2024/10/27 16:56
加载中...