CF1294C 题解
题目传送门。
简单来说:
我们可以枚举
则另外一个因数为
所以我们可以直接输出。
所以我们需要几个判定才输出:
-
或 时,不满足,输出 。 -
如果
连 个因数都没有,直接输出 。
写出代码,此题终。
#include<iostream>
using namespace std;
int n,t,flag,a,b;
int main(){
cin>>t;
while(t--){
cin>>n;
flag=1;a=0;b=0;
for(int i=2;i*i<=n;i++){
if(n%i==0){
n/=i;
if(a==0)a=i;
else {
b=i;
if(n!=1)flag=0;
else flag=1;
break;
}
}
}
if(n==a||n==b)flag=1;
if(flag)cout<<"NO\n";
else cout<<"YES\n"<<a<<' '<<b<<' '<<n<<endl;
}
return 0;
}
(为什么不考虑
(关于时间复杂度: 外层循环
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】