首页 > 代码库 > Vijos P1786 质因数分解【暴力】
Vijos P1786 质因数分解【暴力】
质因数分解
背景
NOIP2012普及组第一题
描述
已知正整数n是两个不同的质数的乘积试求出较大的那个质数。
格式
输入格式
输入只有一行包含一个正整数n。
输出格式
输出只有一行包含一个正整数p, 即较大的那个质数。
样例1
样例输入1
21
样例输出1
7
限制
1S
提示
【数据范围】 对于60%的数据,6 ≤ n ≤ 1000。 对于100%的数据,6 ≤ n ≤ 2*10的9次方
来源
NOIP2012普及组第一题
题目链接:https://vijos.org/p/1786
分析:大暴力吧,说白了,判一发质数然后找最大就好了!
下面给出AC代码:
1 #include <bits/stdc++.h> 2 using namespace std; 3 bool gcd(int a) 4 { 5 int flag=1; 6 for(int i=2;i<=(int)sqrt(a);i++) 7 { 8 if(a%i==0) 9 {10 flag=0;11 break;12 }13 }14 if(!flag)15 return false;16 return true;17 }18 int main()19 {20 int n;21 cin>>n;22 int maxn=0;23 for(int i=1;i<=(int)sqrt(n);i++)24 {25 if(n%i==0)26 {27 int t=n/i;28 if(gcd(t))29 maxn=max(maxn,t);30 }31 }32 cout<<maxn<<endl;33 return 0;34 }
Vijos P1786 质因数分解【暴力】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。