[21603][白俊/BOJ]1800号最大公約数
840 ワード
質問する
にゅうしゅつりょく
に答える
Aが111、Bが1111の場合、最大承諾数は1である.
Aは1111,Bは11111で最大公約数は111である.
したがって,ユークリッドアーク除算法で最大公約数を求め,最大公約数で1を出力すればよい.
入力した数字は2^63未満なので、int型の代わりにlong long型を使用します.
コード#コード#
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcd(ll a, ll b)
{
ll r;
while (b != 0)
{
r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
ll a, b;
cin >> a >> b;
for (int i = 0; i < gcd(a, b); ++i)
cout << '1';
}
Reference
この問題について([21603][白俊/BOJ]1800号最大公約数), 我々は、より多くの情報をここで見つけました https://velog.io/@kwkim95/210601백준BOJ-1850번-최대공약수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol