【题目描述】
已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。
【输入】
输入只有一行,包含一个正整数 n。
对于60%的数据,6≤n≤10006≤n≤1000。
对于100%的数据,6≤n≤2×1096≤n≤2×109。
【输出】
输出只有一行,包含一个正整数 pp,即较大的那个质数。
【输入样例】
21
【输出样例】
7
解法一:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int n;
int i;
cin >> n;
for(int i = 2;i <= sqrt(n);i ++) {
if(n % i == 0){
cout << n / i << endl;
break;
}
}
return 0;
}
解法二:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a,b,i;
cin >> n;
for(i = 2;i * i <= n;i++)//两个不同质数
if(n % i == 0)//找到质数
{
printf("%d\n",n / i);//较大质数=n/较小质数,输出
return 0;
}
return 0;
}