100%AC题解
2026-06-28 19:44:52
发布于:上海
7阅读
0回复
0点赞
代码思路
1.函数 f (x) 求最大质因数:1 直接返回 1;遍历 2 到√x,每次除尽当前因数并记录最大质因子;循环后若剩余 x>1 则 x 为最大质因子,否则返回记录值。
2.主函数读入 n,循环读取每个数调用函数求值,按格式分隔输出。
代码
#include<bits/stdc++.h>
using namespace std;
//求x最大质因数
long long f(long long x){
if(x==1){
return 1;
}
long long r=0;
//枚举到平方根分解质因子
for(long long i=2;i*i<=x;i++){
while(x%i==0){
r=i;
x/=i;
}
}
return x>1?x:r;
}
int n;
int main(){
cin>>n;
while(n--){
long long a;
cin>>a;
cout<<f(a)<<(n?" ":"\n");
}
return 0;
}
全部评论 1
- 置顶
源代码提交于2026/06/28晚上7:40左右
2026-06-28 来自 上海
1




有帮助,赞一个