其他分享
首页 > 其他分享> > [信息学奥赛一本通-T1620]质因数分解-数论

[信息学奥赛一本通-T1620]质因数分解-数论

作者:互联网

题目描述
原题来自:NOIP 2012 普及组

已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。
输入
输入只有一行,包含一个正整数 n。
输出
输出只有一行,包含一个正整数 p,即较大的那个质数。
样例输入

21

样例输出

7

解题思路:
水题!!!

代码如下:

#include <iostream>
#include <cmath>
using namespace std;

bool check(int x)
{
	for (int i = 2;i<=sqrt(x);i++)
	{
		if (x%i==0) return false;
	}
	return true;
}

int main()
{
	int n;
	cin>>n;
	for (int i = 2;i<=n;i++)
	{
		if (check(i) && n%i==0)
		{
			cout<<n/i<<endl;
			return 0;
		}
	}
	return 0;
}

标签:正整数,因数分解,int,质数,样例,奥赛,T1620,return,check
来源: https://blog.csdn.net/m0_51955470/article/details/115418619