题目简化和分析:

使得 \(a \times b\times c=n~~~~(a\ne b\ne c)\)

思路:

  1. 先枚举最小的 \(a\) ,(以下程序的返回值为最小因数(有部分优化),即 \(a\) 的值)
int query(int n){
if(n%2==0) return 2;
for(int i=3;i<=sqrt(n);i+=2){
if(n%i==0) return i;
}
return n;
}
  1. 再枚举最小的 \(b\) ,(同理)
		for(int i=a+1;i<=sqrt(n);i++){
if(n%i==0){
b=i;
break;
}
}
  1. 得到 \(c\) ,并判断是否符合条件

Solution:

#include<bits/stdc++.h>

using namespace std;

int t,n;

int query(int n){
if(n%2==0) return 2;
for(int i=3;i<=sqrt(n);i+=2){
if(n%i==0) return i;
}
return n;
} int main()
{
scanf("%d",&t);
while(t--){
scanf("%d",&n);
int a=query(n),b=-1,c=-1;
n/=a;
for(int i=a+1;i<=sqrt(n);i++){
if(n%i==0){
b=i;
break;
}
}
c=n/b;
if(b==-1||c==-1||b==c){
printf("NO\n");
}else{
printf("YES\n");
printf("%d %d %d\n",a,b,c);
}
}
return 0;
}

随机推荐

  1. 国内可用的GPT4镜像站

    我做了个镜像站,GPT4的费用目前太贵了. 虽然做了个低价的月费,但基本上亏本在做,接口的实际费用高出太多. 运行了1个月,每天有几十人在用吧. 有兴趣的可以收藏一下 GPT4的验明正身的问题&quo ...

  2. python学习笔记:继承与超类

    与java类似,继承的出现是为了提高代码的重复利用率,避免多次输入同样的代码.而超类就是java中的父类. 1.继承 要指定超类,可在定义类时,在class语句中的类名后加上超类名 基类就是超类,派生 ...

  3. 【技术积累】JavaScript中的基础语法【一】

    Math对象 JavaScript中的Math对象是一个内置的数学对象,表示对数字进行数学运算的方法和属性的集合. Math对象不是一个构造函数,所以不能使用new关键字来创建一个Math对象的实例. ...

  4. 2023年icpc大学生程序设计竞赛-nhr

    icpc的省赛是在洛阳举办,第一次出省,还是两天,第一次离开郑州去别的城市比赛,心情更多的是激动,非常感谢老师给了这次机会,第一天20号,打完热身赛之后回寝室,和队友一起看了一下去年省赛的题,感觉还是 ...

  5. Linux 日志服务管理

    日志管理 1 系统日志管理 1 rsyslog系统日志服务 日志记录的内容包括: 历史事件:时间,地点,人物,事件 Jul 18 14:30:53 # 时间 ubuntu2204 # 地点 (在哪个主 ...

  6. MIT 6.5840 Raft Implementation(2B, Log Replication)

    Raft实现思路+细节(2B) 任务分解 2B中最主要的任务就是进行日志的复制.Raft是一个强领导人的系统,这意味着所有的日志添加都是由领导人发起的,与之相类似的,还有很多其他的结论(它们都是比较显 ...

  7. 基于 Spark 的物流企业数据仓库 的设计与实现

    1.设计和实现了一种基于 Spark 的分布式 ETL 系统,包括利用 Spark 抽取.转换清洗和加载数据的具体过程. 2.设计和实现了基于 Spark 的物流企业数据仓库,包括物流企业数据仓库的分 ...

  8. 构建易于运维的 AI 训练平台:存储选型与最佳实践

    伴随着公司业务的发展,数据量持续增长,存储平台面临新的挑战:大图片的高吞吐.超分辨率场景下数千万小文件的 IOPS 问题.运维复杂等问题.除了这些技术难题,我们基础团队的人员也比较紧张,负责存储层运维 ...

  9. 彻底弄懂js中this指向(包含js绑定、优先级、面试题详解)

    为什么要使用this 在javascript中,this可谓是无处不在,它可以用来指向某些元素.对象,在合适的地方使用this,能让我们减少无用代码的编写 var user = {   name: & ...

  10. [etcd]简介与安装

    简介 etcd是一个采用Raft协议实现强一致性的分布式键值数据库,它提供了一种可靠的方式存储需要被分布式系统或机器集群访问的数据. 常见使用场景:服务注册与发现.键值对存储.消息发布和订阅.分布式锁 ...