质因数分解
题目描述
已知正整数 n n n 是两个不同的质数的乘积,试求出较大的那个质数。
输入格式
输入只有一行,包含一个正整数 n n n( 6 < n < 1 0 9 6<n<10^9 6<n<109)。
输出格式
输出只有一行,包含一个正整数 p p p,即较大的那个质数。
样例 #1
样例输入 #1
21
样例输出 #1
7
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<stdbool.h>
int prime(long long m){
long long i;
for(i=2;i*i<=m;i++){
if(m%i==0){
return 0;
}
}
return 1;
}
int main(){
long long m,i=1;
scanf("%lld",&m);
while(i*i<=m){
if(m%i==0){
if(prime(i)&&prime(m/i)){
printf("%lld\n",m/i);
break;
}
}
i++;
}
return 0;//csdn 旺旺的碎冰冰~
}