問題[羅区P5436] [XR-2]運命へのソリューション

トピックの背景

大規模ネットワークの運命を織るためにあなたが露出すべて。運命はまだQianjie後にかかわらず、来てますが、満たすことができません。草原での運命は、船まで待つことができます。 - 「禅の僧。」

タイトル説明

禅は彼と彼のマスター間の大きさの運命を知ってほしいです。しかし、どのように我々はそれを知ることができますか?

途中、彼の最初のマスター契約と正の整数の禅思想\(N \)は、その後、彼らはそれぞれ、心臓よりも多くたくない\(N \)正の整数を。

禅は彼とこれら2つの数の彼のマスターの思考があると考えてい最小公倍数それは、彼と彼のマスターとの間に大きな運命という意味、大きいです。

マスターは、このアプローチが適切であることを感じているが、彼は最大2つの数の最小公倍数であるだろう知りたいです。

数学のマスターは非常に良いではありませんので、彼は禅を尋ねました。禅はまた、彼はあなたが彼に答えを教えて欲しい、この質問は非常に困難であると思います。

入出力フォーマット

入力形式

この質問複数のデータセット。

正の整数の最初の行\(T \)は、データセットの数を表します。

\(T \)線、各正の整数(\ \ N-)は、正の整数を表し、マスタは禅を合意しました。

出力フォーマット

データの各セット、ライン回答を表す正の整数のために。

サンプル入力と出力

入力サンプル#1

1
3

サンプル出力#1

6

説明

[サンプル\(1 \)の説明]

以上\(3 \) 2つの正の整数の最小公倍数の最大値(\ \ mathrm LCM} {(2,3)= 6 \)

スケールデータと[合意]

以下のための\(50 \%の\)データ、\(1 \ルT、N- \ル100 \)

以下のための\(100 \%の\)データ、(LE T \ル100 ,. 1 \ N-LE \ル^ 10 9 \ \ 1)\

問題の解決策

簡単な数学の問題。

容易に理解、\(\ N-)\(N-1 \)は互いに素です。

そして2つの素数\(\ mathrm {LCM} \ ) 2つの数の積です。

注意すべき点が2つあります。

  1. 最後に、答えは超えてしまう\は(int型\) オープンする必要があります\(ロング\) \(ロング\)
  2. 特別な注意文\(N = 1 \) 答えは\(1 \)

コード

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#define int long long

using namespace std;

inline int gi()
{
    int f = 1, x = 0; char c = getchar();
    while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar();}
    while (c >= '0' && c <= '9') { x = x * 10 + c - '0'; c = getchar();}
    return f * x;
}

int t, n;

signed main()
{
    cin >> t;
    while (t--)
    {
        cin >> n;
        if (n == 1) cout << 1 << endl;//特判
        else cout << n * (n - 1) << endl;//输出两个数的乘积
    }
    return 0;
}

おすすめ

転載: www.cnblogs.com/xsl19/p/11114691.html