CF1294C
题目简化和分析:
使得 \(a \times b\times c=n~~~~(a\ne b\ne c)\)
思路:
- 先枚举最小的 \(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;
}
- 再枚举最小的 \(b\) ,(同理)
for(int i=a+1;i<=sqrt(n);i++){
if(n%i==0){
b=i;
break;
}
}
- 得到 \(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;
}
随机推荐
- 为控制器生成OpenAPI注释
非常喜欢. NET 的 /// 注释,写代码的时候就顺道完成写文档的过程,简直不要太爽了. ASP. NET CORE 也是一样的,通过 Swagger 工具,可以自动生成 API 的接口文档(Ope ...
- 【FAQ】关于CP反馈的联运应用的常见结算问题小结
问题一:为什么在"我的账户">>"收益"里面的金额和支付报表中的金额对不上 ? 关于联运类应用付费产品在华为平台上结算问题,您可以详细参考一下&qu ...
- Day05_Java_作业
A:看程序写结果(写出自己的分析理由),程序填空,改错,看程序写结果. 1.看程序写结果 class Demo { public static void main(String[] args) { i ...
- RDB初步了解
RDB概念 快照文件是.rdb结尾 redis6.2以前和之后(包括6.2)在什么条件下会保存rdb文件有所不同 以前 15min&&1个key(改变)调用保存 5min&&a ...
- 分布式数据库oceanBase部署
分布式数据库oceanBase部署 相关链接 文档中心 视频中心 软件下载 OceanBase数据库基本操作 OceanBase简介 SQL执行计划 基本概念 为了更好地管理 OceanBase 数据 ...
- VSCode:缩进两格空格
在设定中对如图所示两项进行修改: 至此问题解决.
- 八 Appium常用方法介绍(转)
由于appium是扩展了Webdriver协议,所以可以使用webdriver提供的方法,比如在处理webview页面,完全可以使用webdriver中的方法.当然在原生应用中,也可以使用. 1.元素 ...
- TCP四次挥手会经历这么多状态
TCP三次握手 中讲述了序列号和建立连接,这一篇来说说释放连接. 标志位 TCP首部中在属性标志位,和建立连接.释放连接有关,位于保留和窗口字段中间,其中三个标识与断开连接有关. ACK: ackno ...
- 使用supervisor守护freeswitch进程
一.安装supervisor yum install -y epel-release yum install -y supervisor systemctl start supervisord sys ...
- Jmeter+Ant+Jenkins接口自动化测试平台
一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成. Jmeter 支持接口的测试, Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可以构成 ...