Codeforces Round #655 (Div. 2) B. Omkar and Last Class of Math (数学)
2024-08-28 18:06:16
题意:给你一个正整数\(n\),求两个正整数\(a\)和\(b\),使得\(a+b=n\),并且\(LCM(a,b)\)要尽可能的小.
题解:首先对于偶数,构造\(\frac{n}{2}\)和\(\frac{n}{2}\)一定是最优解,对于奇数,我们去找除它本身的最大因子\(a\),为什么呢?
我们假设\(a\)是\(n\)的一个真因子,那么\(a\)能整除\(n\),则\(a\)也一定能整除\(n-a\),那么它们的\(lcm(a,n-a)=n-a\),所以我们要让\(n-a\)尽可能小,即\(a\)要尽可能地大,所以我们要求\(n\)的最大因子即可.若无真因子,就直接输出\(1\)和\(n-1\).
代码;
int t;
int n; int main() {
ios::sync_with_stdio(false);cin.tie(0);
cin>>t;
while(t--){
cin>>n;
if(n%2==0){
cout<<n/2<<" "<<n/2<<endl;
}
else{
int p=1;
for(int i=2;i<=n/i;++i){
if(n%i==0){
p=n/i;
break;
}
}
cout<<p<<" "<<n-p<<endl;
}
} return 0;
}
最新文章
- android 之HttpURLConnection的post,get方式请求数据
- .NET LINQ 串联运算
- Remove-Azureaccount (Can&#39;t get Azure credentials to stick in Powershel)
- iOS开发小技巧--计算label的Size的方法总结
- Leveldb Advanced
- 重温css系列01
- l连接远程桌面
- Gulp 之二
- python2.7_1.2_打印设备名和IPv4地址
- git的一些常见命令
- Course2-Python函数和模块
- VS 使用vs2017自带的诊断工具(Diagnostic Tools)诊断程序的内存问题
- Docker 安装rabbitMQ
- ActiveMq Windows 配置优化
- weui复选框无法传值
- DRF 中使用 级验科技滑动验证
- Linux 日志分析脚本
- 使用List需要注意的点
- python 全栈开发,Day92(编程式的导航,vue页面布局,marked包的使用)
- OSG使用模板缓存
热门文章
- leetcode 473. 火柴拼正方形(DFS,回溯)
- ctfshow—web—web5
- STL_string容器
- Py数据类型—列表,字典,元组
- Android iText向pdf模板插入数据和图片
- 解决 browser-sync start --server --files 文件不能同步的问题!
- a.default.ERROR.httpAjax is not a function
- 关于Java客户端连接虚拟机中的Kafka时,无法发送、接收消息的问题
- python 使用函数名的字符串调用函数(4种方法)_black-heart的专栏-CSDN博客 https://blog.csdn.net/mrqingyu/article/details/84403924
- 【.NET 与树莓派】i2c(IIC)通信