XiaoHuang's Space
XiaoHuang's Space
XiaoHuang
May the force be with you.
『题解』洛谷P5436 【XR-2】缘分
Posted: Dec 11, 2019
Last Modified: Dec 13, 2019
This article was last modified days ago. The content of this post may be outdated!

Portal

Portal1:Luogu

Description

一禅希望知道他和师父之间的缘分大小。可是如何才能知道呢?

一禅想了个办法,他先和师父约定一个正整数$n$,接着他们各自在心里想一个不超过$n$的正整数。

一禅认为,他和师父心里想的这两个数的最小公倍数越大,则意味着他和师父之间的缘分越大。

师父觉得这个办法很合适,不过他想知道这两个数的最小公倍数最大会是多少。

师父的数学不太好,于是问一禅。一禅也觉得这个问题很困难,他希望你能告诉他答案。

Input

第一行一个正整数$T$,表示数据组数。

接下来的$T$行,每行一个正整数$n$,表示一禅和师父约定的正整数。

Output

对每组数据,一行一个正整数,表示答案。

Sample Input

1
3

Sample Output

6

Solution

首先,$\gcd(x, x - 1) = 1$,所以在$n$范围内,最小公倍数最大的一定是$\mathrm{lcm}(n, n - 1) = n \times (n - 1)$,于是答案就是$n \times (n - 1)$。

特殊地,当$n = 1$时,因为$n - 1 = 0$,所以最大只能是$\mathrm{lcm}(1, 1) = 1$。

Code

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>

using namespace std;

typedef long long LL;
int T;
LL n;
int main() {
    scanf("%d", &T);
    while (T--) {
        scanf("%lld", &n);//考虑到后面还需相乘,会爆int
        if (n != 1) printf("%lld\n", n * (n - 1)); else printf("1\n");//特判
    }
    return 0;
}
Article License: CC BY-NC-ND 4.0
Article Author: XiaoHuang
  1. 1. Portal
  2. 2. Description
  3. 3. Input
  4. 4. Output
  5. 5. Sample Input
  6. 6. Sample Output
  7. 7. Solution
  8. 8. Code
Newer Post
『题解』Codeforces656E Out of Controls
Older Post
『题解』洛谷P4936 Agent1
Buy me a beer?
-->
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×