AtCoder Regular Contest 051
翻译中…
Problem Statement
翻译中…
高橋君は、ユークリッドの互除法というアルゴリズムを学びましたが、これがどのぐらいの速度で動くのか気になりました。
翻译中…
なので、以下のようなC言語のコードを書きました。
翻译中…
#include <stdio.h>
int counter = 0;
int gcd(int a, int b) {
if (b == 0) return a;
counter++;
return gcd(b, a%b);
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
gcd(a, b);
printf("%d\n", counter);
}
翻译中…
これは、$2$ つの整数を標準入力から受け取り、そのgcdをユークリッドの互除法で求め、求める際に何回再帰したかを出力するコードです。
翻译中…
あなたは、このプログラムにいろんな値を出力させたくなりました。
翻译中…
具体的には、$K$ が与えられるので、このプログラムの出力が $K$ となるような $a, b$ を一組求めてください。
翻译中…
Constraints
翻译中…
$1 ≦ K ≦ 40$
翻译中…
ただし、以下の制約を満たすテストケースにすべて正解すれば $30$ 点が与えられる。
翻译中…
$1 ≦ K ≦ 10$
翻译中…
Input
翻译中…
入力は以下の形式で標準入力から与えられる。
翻译中…
K
翻译中…
Output
翻译中…
$a, b$ を空白区切りで $1$ 行に出力せよ。ただし、以下の制約を満たしていなければいけない。
翻译中…
$1 ≦ a, b ≦ 1,000,000,000$
翻译中…
样例
Input #1
1
Output #1
1 1
Input #2
3
Output #2
4 5
Input #3
12
Output #3
314159265 358979323
どの入出力例も、これ以外にも条件を満たす出力はたくさんあります。
题目信息
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。