1. paizaラーニングトップ
  2. レベルアップ問題集
  3. ユークリッドの互除法メニュー(言語選択)
  4. 問題一覧 C++編
  5. 合同式 C++編

ユークリッドの互除法メニューのサムネイル
合同式 C++編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

ある自然数 N について、整数を N で割った余りに注目した数式を合同式と言います。
整数 A を N で割った余りと、整数 B を N で割った余りが等しい場合、「N を法として A と B は合同である」といい A ≡ B(mod N)と表されます。

例として、7 と 19 の間には 7 ≡ 19(mod 6) が成り立ちます。

自然数 N と整数 A が与えられるので、1 〜 100,000 の数のうち、N を法として A と合同なもの(A を含む)を、小さい方から順に全て出力してください。

入力される値

N A


・1 行で、自然数 N , 整数 A が半角スペース区切りで与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

s_1
...


・1 〜 100,000 の数のうち、N を法として A と合同なもの s_1 ... を、 A を含め、小さい方から順に全て出力してください。
・また、出力の末尾には改行を入れてください。

条件

・1 ≦ N ≦ 100,000
・1 ≦ A ≦ 100,000

入力例1

10000 1

出力例1

1
10001
20001
30001
40001
50001
60001
70001
80001
90001

入力例2

28446 39582

出力例2

11136
39582
68028
96474

問題一覧へ戻る

ページの先頭へ戻る