首页 > 代码库 > 计蒜客---最大质因数
计蒜客---最大质因数
给出N个数字,试求质因数最大的数字。
输入格式:
第一行,一个整数N,表示数字个数。 接下来N行,每行一个整数A_i,表示给出的数字。
输出格式:
一个整数,表示质因数最大的数字。
N < = 5000 , A_i < = 20000
举例
38和12
38=19*2, 12=2*3*3, 38最大的是19 12最大的是3, 所以本数据要输出38。
样例输入
436384042
样例输出
38
1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #include <cstdio> 5 #include <vector> 6 #include <cstdlib> 7 #include <iomanip> 8 #include <cmath> 9 #include <ctime>10 #include <map>11 #include <set>12 #include <queue>13 using namespace std;14 #define lowbit(x) (x&(-x))15 #define max(x,y) (x>y?x:y)16 #define min(x,y) (x<y?x:y)17 #define MAX 10000000000000000018 #define MOD 100000000719 #define pi acos(-1.0)20 #define ei exp(1)21 #define PI 3.14159265358979323846222 #define INF 0x3f3f3f3f3f23 #define mem(a) (memset(a,0,sizeof(a)))24 typedef long long ll;25 ll gcd(ll a,ll b){26 return b?gcd(b,a%b):a;27 }28 bool cmp(int x,int y)29 {30 return x>y;31 }32 const int N=10005;33 const int mod=1e9+7;34 int a[31];35 int la(int x)36 {37 int flag=1;38 for(int i=2;i*i<=x;i++){39 if(x%i==0){40 flag=0;41 break;42 }43 }44 return flag;45 }46 int main()47 {48 std::ios::sync_with_stdio(false);49 int n,m,t=0,s;50 cin>>n;51 for(int i=0;i<n;i++){52 cin>>m;53 for(int j=m;j>=2;j--){54 if(m%j==0&&la(j)&&j>t){55 t=j;56 s=m;57 break;58 }59 }60 }61 cout<<s<<endl;62 return 0;63 }
计蒜客---最大质因数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。