初级启示者
题目描述 Description
为了迎接国庆,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:寻找质因数。老师会让若干个同学来回答问题,每次被提问的同学会拿到一张卡片,卡片上有N个数,他们的任务是求出N个数中质因数最大的数字。对于答对的同学,老师会派发一份精美的礼品。
输入描述 Input Description
第一行,一个整数N,表示数字个数。
接下来N行,每行一个整数Ai,表示给出的数字。
N <= 5000 , Ai <= 20000
输出描述 Output Description
一个整数,表示质因数最大的数字。
样例输入 Sample Input
4 36 38 40 42
样例输出 Sample Output
38
———————————————————————————
严重超时,10分,最后一个测试点对了,各位大佬有没有思路??
董宇昊在2020-04-25 14:09:06追加了内容
我已经会作了,现在谁第一个关注我我就采纳谁~~
董宇昊在2020-04-25 14:12:11追加了内容
顶一下!
董宇昊在2020-04-25 14:20:40追加了内容
我再顶!
资深光能
else{
for(int j=2;j<=sqrt(t);j++){
if(t%j==0){
return false;
return 0;
}
}
}
记住,这是结构体!
bool zs(定义 t)
如果(t==1)
return false;
如果(t==2||t==3)
return true;
这部分正好可以和上面的连接。
邹昊轩在2020-04-25 11:24:44追加了内容
哦,我忘了。
在else后面再加个return true。
高级光能
此题要用埃氏筛法,思路和我有长辈那题差不多,都是埃氏筛法的运用。
1 输入n
2 循环输入t
3 暂存t
4 重复除以当前质数剔除所有与当前质数有关的合数因子
5 当m利j相等时,此时的m为最大质因数(while循环)
6 比较当前最大质因数与假定最大值的大小
7 输出。
此题不用埃氏筛会超时,cmp+sort的话我没试过
初级光能
sing namespace std;
int a[?],b[?];
bool zs(int x){
for(?){
if(?)
return false;
}
return true;
}
int main(){
int n,maxn=0,maxt=0;
输入
for(?){
输入
for(?){//先判断是不是因数
if(?){
if(?){//在判断是不是素数
if(?)
?;
}
}
if(?){
if(?){
?;
}
}
}
}
for(?){
if(?){
maxn=b[i];
maxt=a[i];
}
}
cout<<maxt;
return 0;
}
采纳苏维埃