1620:质因数分解
时间限制: 1000 ms 内存限制: 524288 KB
提交数: 1629 通过数: 1079
【题目描述】
原题来自:NOIP 2012 普及组
已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。
【输入】
输入只有一行,包含一个正整数 n。
【输出】
输出只有一行,包含一个正整数 p,即较大的那个质数。
【输入样例】
21
【输出样例】
7
【提示】
数据范围与提示:
对于 30% 的数据,n≤1000;
对于全部数据,6≤n≤2×109 。
思路:n的最小质因数在2~sqrt(n)。
#include <bits/stdc++.h>
#define ll long long
#define inf 1<<30
using namespace std;
int n;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
for(int i=2;i*i<=n;i++)
{
if(n%i==0)//最小质因数
{
cout << n/i << endl;
break;
}
}
return 0;
}