本蒟蒻的第二篇题解,望大家多多见谅!
P
a
r
t
Part
Part
1
1
1 读题
题目描述:
已知正整数 n n n是两个不同的质数的乘积,试求出较大的那个质数。
输入格式:
输入只有一行,包含一个正整数 n n n。
输出格式:
输出只有一行,包含一个正整数 p p p,即较大的那个质数。
输入样例:
21
输出样例:
7
数据范围与提示:
n ≤ 2147483647 n≤2147483647 n≤2147483647
P a r t Part Part 2 2 2 思路
由题意可知,我们要计算输入值
n
n
n的最大的质因数(即为
p
p
p),再输出
p
p
p。
计算
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
cout<<n/i;
break;
}
}
大家分析完后,可以试着写代码哦!
P
a
r
t
Part
Part
3
3
3 代码
方法一(有函数):
#include <bits/stdc++.h>
using namespace std;
void prime(int n) {
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
cout<<n/i;
break;
}
}
}
int main(){
long long n;
cin>>n;
prime(n);
return 0;
}
方法二(无函数):
#include <bits/stdc++.h>
using namespace std;
int main(){
long long n;
cin>>n;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
cout<<n/i;
break;
}
}
return 0;
}
P a r t Part Part 4 4 4 总结
本题考查最大质因数的计算
看完题解后,会不会感到很简单呢?赶快去试试吧!