问题标题: 酷町堂:1062

0
0
已解决
王昱林
王昱林
高级守护
高级守护

题目链接: 酷町堂:1062

#include<iostream>

#include<cmath>

using namespace std;

int t[20005],maxn,a[5005];

int main(){

    int n;

    cin>>n;

t[1]=1;

for(int i=1;i<=n;i++){

cin>>a[i];

}

    for(int i=2;i<=n;i++){

        if(t[i]==0){

            for(int j=2*i;j<=n;j+=i){

                t[j]++;

            }

        }

    }

    for(int i=n-1;i>=2;i--){

        if(t[i]>maxn){

            maxn=a[i];

        }

    }

    cout<<maxn;

    return 0;

}

有会的吗?样例都过不了。


0
已采纳
朱小川
朱小川
缔造者
缔造者

建议:你可以定义函数

然后定义两个名称,一个判断质数,另一个判断质因数

然后 tmp=质因数,退出

最后比较一下(后面别忘加一个maxn=tmp; pos=a;)

输出pos

0
褚俊皓
褚俊皓
新手天翼
新手天翼

埃氏筛法

两个函数

一个判断质数一个判断质因数

如果大于最大值就交换

最后输出

我要回答