Vijos P1786 质因数分解【暴力】

时间:2023-03-09 16:47:55
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代码:

 #include <bits/stdc++.h>
using namespace std;
bool gcd(int a)
{
int flag=;
for(int i=;i<=(int)sqrt(a);i++)
{
if(a%i==)
{
flag=;
break;
}
}
if(!flag)
return false;
return true;
}
int main()
{
int n;
cin>>n;
int maxn=;
for(int i=;i<=(int)sqrt(n);i++)
{
if(n%i==)
{
int t=n/i;
if(gcd(t))
maxn=max(maxn,t);
}
}
cout<<maxn<<endl;
return ;
}