问题标题: 酷町堂:3893 可怕的质因数 哪错了?

0
0
已解决
宋骐钰
宋骐钰
新手守护
新手守护
#include<iostream>
using namespace std;
int a[9999999];
int main()
{
    int n,cnt=0,maxn=0;
    cin>>n;
    for(int i=2;i<=n;i++)
    {
        if(a[i]==0){
            for(int j=i*2;j<=n;j+=i)
            {
                a[j]++;
            }
        }
    }
    for(int i=2;i<=n;i++)
    {
        if(maxn<a[i])
        maxn=a[i];
    }
    for(int i=2;i<=n;i++)
    {
        if(a[i]==maxn){
            cout<<i<<' '<<maxn;
        }
    } 
    return 0;
}

为什么输入20,输出6 210 212 214 215 218 220 2

不应该是6 2吗?

求大神指导!!!!!!!!

在线等,急!!!


0
已采纳
许金夫
许金夫
初级天翼
初级天翼

你需要加一个特判(你把所有可能性全输出出来了)

许金夫在2020-03-12 21:38:01追加了内容

0
沙润铭
沙润铭
修练者
修练者

汉语言很有用还有要很愿意还有用

0
朱子尘
朱子尘
初级光能
初级光能

不需要第三个循环,用一个变量pos存i,maxn和第二个循环还是一样,直接输出pos和maxn

我要回答