!!!!救救孩子吧!!!!

DE. 质因数分解

Problem ID: 9855

Contest ID: 5697

必做题

时间: 1s 空间: 128 M

题目描述:

已知正整数 nn 是两个不同的质数的乘积,试求出较大的那个质数。

输入格式:

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

输出格式:

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

样例输入1:

21

样例输出1:

7

约定:

对于 30%30% 的数据,n\le 1000n≤1000;

对于全部数据,6\le n\le 2\times 10^96≤n≤2×109。

3 个赞

啥问题?没有思路?

4 个赞



3 个赞

我的代码

3 个赞

假如 n=a*b,a,b都是质数,那么从小到大的去枚举质数a,满足n能整除a的话,那么结果不就是题目要的另一个大质数b吗?

4 个赞
#include<bits/stdc++.h>
int main(){
	int n;
	scanf("%lld",&n);
	for(int i=2;i<n;i++){
		if(n%i==0){
			if(n/i>i){
				printf("%lld\n",n/i);
				return 0;
			}
			else{
				printf("%lld\n",i);
				return 0;
			}
		}
	}
}
3 个赞

求改

3 个赞

3 个赞

紫色的东东啥意思

3 个赞

哈喽

3 个赞

没事了
对了
没开 longlong

2 个赞

????

2 个赞

开long long啊

3 个赞

不对,你的using namespace std;呢

3 个赞

额没事,我刚忽然发现不判断质数也可以,因为按照2 3 4 5 6 7 8 9…这样的顺序枚举,如果n有2 3 这样的因子,4,6,8也根本不可能走到 :no_mouth:

3 个赞

我承认我是眼瞎了

2 个赞

2 个赞

老师解帖吧

3 个赞

此贴结

3 个赞