问题标题: 酷町堂:考试题目:质因数个数

0
0
已解决
王子健
王子健
初级天翼
初级天翼

4724 质因数个数
题目详情
题目描述 Description
酷酷刚刚学完数学中的质因数知识。他现在想找出n个整数中,拥有质因数最多的那个的整数。请你编写一个程序,找出输入的n个整数中质因数最多的整数。如果有多个含质因数个数最多的数字,则输出最先输入的那一个 。

输入描述 Input Description
两行,第一行一个整数n,表示输入的整数的个数

第二行,n个整数


 
输出描述 Output Description
一个整数,表示整数中质因数最多的整数


 
样例输入 Sample Input
5
47 68 23 77 50
样例输出 Sample Output
68
数据范围及提示 Data Size & Hint
n<=1000,1000<=每个整数<=100000

其中,质因数相同算作一个。比如8=2×2×2,仅有一个质因数2
 

 

考试的题目老师让订正,代码超时,还有半小时,哪个大佬会帮我做一下吧

#include<iostream>
#include<cmath>
using namespace std;
bool zs(int n){
if(n==1||n==0) return 0;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0) return 0;
}
return 1;
}
int cnt,a[1001],b[100001];
int main()
{
int n,maxn=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
for(int j=2;j<=a[i];j++)
{
if(zs(j)&&a[i]%j==0){
cnt++;
b[a[i]]=cnt;
}
}
maxn=max(maxn,cnt);
cnt=0;
}
for(int i=1;i<=n;i++)
{
if(b[a[i]]==maxn)
{
cout<<a[i];
break;
}
}
return 0;
}
 


0
0
龙舟
龙舟
高级光能
高级光能

@王子健    加一下这个,我的小号:1901625842

剩下的加了再说

0
包涵宇
包涵宇
中级天翼
中级天翼

注意!!!这是埃氏筛!!!

还有,你好像不知道设么是质因数

0
蔡辰夕
蔡辰夕
新手启示者
新手启示者

1111111111111111111111111111111111111111111111111111111111111111111111

我要回答