题目链接:https://codeforces.com/contest/1372/problem/B

题意

给出一个正整数 $n$,找到两个正整数 $a,b$ 满足 $a+b = n$ 且 $LCM(a,b)$ 最小。

题解

$a$ 或 $b$ 中一定有 $n$ 的因子,枚举即可。

证明

若 $a,b$ 都不是 $n$ 的因子,则 $a,b,n$ 两两互素,$LCM(a,b) = a \times b$,当 $a = 1, b = n - 1$ 时,$LMC(a,b) = n - 1 < n$,除此外,$LCM(a,b) > n$ 。

若 $a,b$ 中有 $n$ 的因子,易得 $LCM(a,b) \le n$,所以枚举因子即可。

代码

#include <bits/stdc++.h>
using ll = long long;
using namespace std; ll LCM(ll a, ll b) {
return a * b / __gcd(a, b);
} void solve() {
int n; cin >> n;
vector<int> div;
for (int i = 1; i * i <= n; i++) {
if (n % i == 0) {
div.push_back(i);
div.push_back(n / i);
}
}
int ans_a = 1, ans_b = n - 1;
for (int i : div) {
if (i > 0 and n - i > 0 and LCM(i, n - i) < LCM(ans_a, ans_b))
ans_a = i, ans_b = n - i;
}
cout << ans_a << ' ' << ans_b << "\n";
} int main() {
int t; cin >> t;
while (t--) solve();
}

Codeforces Round #655 (Div. 2) B. Omkar and Last Class of Math的更多相关文章

  1. Codeforces Round #655 (Div. 2) B. Omkar and Last Class of Math (数学)

    题意:给你一个正整数\(n\),求两个正整数\(a\)和\(b\),使得\(a+b=n\),并且\(LCM(a,b)\)要尽可能的小. 题解:首先对于偶数,构造\(\frac{n}{2}\)和\(\f ...

  2. Codeforces Round #655 (Div. 2) D. Omkar and Circle

    题目链接:https://codeforces.com/contest/1372/problem/D 题意 给出奇数个数围成的环,每次可以将一个数替换为相邻两个数的和并删除相邻的两个数,问最后余下的数 ...

  3. Codeforces Round #655 (Div. 2) C. Omkar and Baseball

    题目链接:https://codeforces.com/contest/1372/problem/C 题意 给出一个大小为 $n$ 的排列,每次操作可以选取一个连续子数组任意排列其中的元素,要求每个元 ...

  4. Codeforces Round #655 (Div. 2) A. Omkar and Completion

    题目链接:https://codeforces.com/contest/1372/problem/A 题意 构造一个大小为 $n$ 的数组 $a$,要求满足 $1 \le a_i \le n$,且不存 ...

  5. Codeforces Round #655 (Div. 2) C. Omkar and Baseball (思维)

    题意:有一个数组,每次可以修改子数组,但是修改后每个元素的位置都必须变化,求最少修改多少次使得这个数组有序. 题解:假如这个数组本来就有序,我们直接输出0.否则,对于数组两端,假如它们有序,那么我们可 ...

  6. Codeforces Round #655 (Div. 2) A. Omkar and Completion (构造)

    题意:构造一个长度为\(n\)的序列,要求所有元素总和不大于\(1000\),并且任意两项的和不等于另外一项. 题解:全构造\(1\)就好了. 代码: int t; int n; int main() ...

  7. Codeforces Round #738 (Div. 2)

    Codeforces Round #738 (Div. 2) 跳转链接 A. Mocha and Math 题目大意 有一个长度为\(n\)的数组 可以进行无数次下面的操作,问操作后数组中的最大值的最 ...

  8. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  9. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

随机推荐

  1. maven打包时排除配置文件

    上网查了一下,直接在pom里面配置就好了,具体写法如下所示 <build> ... <resources> <resource> <directory> ...

  2. 简单TCP服务器和TCP客户端源码(Golang)

    以下代码为服务端,非最终版代码,服务端可以接受多个客户端的请求,且所有消息会显示在服务端上,服务端无法发送消息: package main import ( "fmt" " ...

  3. 集成spring框架的web.xml

    <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ...

  4. selenium自动化 | 实现抢课功能

    # -*- coding: utf-8 -*-"""Created on Wed Jan 1 23:39:34 2020@author: billie程序运行环境要求:- ...

  5. 技术基础 | Cassandra RBAC助你打击“虚拟海盗”,让他们对数据“战利品”望而不得

    现如今,我们称虚拟世界里的海盗们为"黑客",他们所追寻的战利品就是在你数据库某处的数据.   而我们能够保证你的数据安全的工具之一,就是"Cassandra基于角色的访问 ...

  6. 纯原生javascript下拉框表单美化实例教程

    html的表单有很强大的功能,在web早期的时候,表单是页面向服务器发起通信的主要渠道.但有些表单元素的样式没办法通过添加css样式来达到满意的效果,而且不同的浏览器之间设置的样式还存在兼容问题,比如 ...

  7. ctfhub技能树—web前置技能—http协议—响应包源代码

    打开靶机环境 查看网页是一个贪吃蛇小游戏 根据提示查看源码 发现flag 至此HTTP协议结束

  8. ctfshow—web—web7

    打开靶机 发现是SQL注入,盲注 过滤了空格符,可以用/**/绕过,抓包 直接上脚本 import requestss=requests.session()url='https://46a0f98e- ...

  9. JCO RFC destination

    一:登陆PI的GUI,进入事物SM59,创建T类型RFC destinations如下: AI_RUNTIME_JCOSERVER  :used for the mapping runtime, va ...

  10. secrets 管理工具 Vault 的介绍、安装及使用

    原文:https://ryan4yin.space/posts/expirence-of-vault/ Vault 是 hashicorp 推出的 secrets 管理.加密即服务与权限管理工具.它的 ...