1098:质因数分解

不打扰是莪最后的温柔 提交于 2019-12-15 21:43:22

1098:质因数分解

【题目描述】
已知正整数nn是两个不同的质数的乘积,试求出较大的那个质数。

【输入】
输入只有一行,包含一个正整数 nn。

对于60%的数据,6≤n≤10006≤n≤1000。

对于100%的数据,6≤n≤2×1096≤n≤2×109。

【输出】
输出只有一行,包含一个正整数 pp,即较大的那个质数。

【输入样例】
21
【输出样例】
7

代码

#include <bits/stdc++.h>
using namespace std;

bool isprime(int n){
	if(n==2) return true;
	for(int i=3;i*i<=n;i++)
		if(n%i==0) return false;
	return true;
}

int main(){
	int n;
	cin>>n;
	if(n%2==0 && isprime(n/2) )  cout<<n/2;
	for(int i=3;i*i<=n;i++ ){
		if(n%i==0 && isprime(n/i)){
			cout<<n/i;
			break;
		}
	}
	return 0;	
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!