P8219 [WFOI - 02] I wanna a feasitor(化验器) 题解
P8219 [WFOI - 02] I wanna a feasitor(化验器)题解
题目大意
给出 ,求 ,表示不为 的 的最大公约数。
Solution
- 为偶数时就是 。
- 为奇数时 要么是 要么是 , 一定是大于 2 的, 是对于 来说最小的不为 1 的因数。
要让一个数的最大公约数最大就要让这个数最大,那么就只需要看 。
-
如果 是奇数,那么 就是偶数, 显然 函数值会大于 。
-
如果 是偶数,那么 就是奇数, 显然 函数值会大于 。
于是就有 了。
Code:
/* Writer: ZhengXiangYu */ #include <bits/stdc++.h> using i64 = long long; int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); i64 l, r; std::cin >> l >> r; if (r % 2 == 0) { std::cout << r / 2 << "\n"; } else { std::cout << (r - 1) / 2 << "\n"; } return 0; }
本文作者:Falling-flowers 的 blog
本文链接:https://www.cnblogs.com/falling-flowers/p/16027708.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步