陈晟亦
(弈剑のㄨ听雨阁)
1
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 个赞
信友队刘老师
(刘老师)
5
假如 n=a*b,a,b都是质数,那么从小到大的去枚举质数a,满足n能整除a的话,那么结果不就是题目要的另一个大质数b吗?
4 个赞
陈晟亦
(弈剑のㄨ听雨阁)
6
#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 个赞
贾中正
(贾中正)
16
不对,你的using namespace std;呢
3 个赞
信友队刘老师
(刘老师)
17
额没事,我刚忽然发现不判断质数也可以,因为按照2 3 4 5 6 7 8 9…这样的顺序枚举,如果n有2 3 这样的因子,4,6,8也根本不可能走到 
3 个赞