(ACM/ICPC 2008年日本国内予選問題B 改題)
で割った余りが である整数は7⁢ℕ+1数と呼ばれる。しかし,発音しにくいので,月曜数と呼ぼう。
月曜数 , に対して、月曜数 が存在して が成り立つとき、 を の月曜約数と呼ぶ。月曜数 が月曜数 の月曜約数であるためには、 が の普通の意味での約数であれば必要十分であると、簡単に証明できる。
より大きな月曜数でそれ自身と の他に月曜約数をもたないものを、月曜素数と呼ぶ。普通の意味での素数である月曜数は月曜素数であるが、逆は一般に成り立たない。たとえば, は普通の意味での素数ではないが、月曜素数である。
月曜数 の月曜約数である月曜素数を、 の月曜素因数と呼ぶ。たとえば、 は月曜素数であり、 が成り立つので、 は の月曜素因数のひとつである.
より大きなどんな月曜数も、1個以上の月曜素数の積として表すことができる。表し方は、順序の違いを無視しても、必ずしも一通りではない。たとえば、 である。
以上 以下の月曜数について月曜素因数の一覧表を出力するプログラムを書け。
出力は、小さい月曜数から順に行うものとする。まず、月曜数を表示し,つづけて同じ行にコロン「:」、そして、月曜素因数の並びを、それぞれの前に空白を置いて、小さい順に重複なく表示する。該当の月曜数を複数回割る月曜素因数も1回だけ出力する。
出力する表のうち、たとえば、 に対応する行は、次のようになる。
10648: 8 22 1331
で割り切れる正整数を日曜数と呼ぼう。
日曜数 , に対して、日曜数 が存在して が成り立つとき、 を の日曜約数と呼ぶ。日曜数 が日曜数 の日曜約数であれば、 が の普通の意味での約数であるが、逆は一般に成り立たない。たとえば、 は の普通の意味での約数だが日曜約数ではない。
日曜数で日曜約数をもたないものを、日曜素数と呼ぶ。 日曜数が日曜素数である必要十分条件は、がその日曜数の普通の意味での約数でないことである。 普通の意味での素数である日曜素数は だけである。
日曜数 の日曜約数である日曜素数を、 の日曜素因数と呼ぶ。便宜上、 自身が日曜素数の場合、 は の日曜素因数であるとする。
たとえば、 は日曜素数であり、 が成り立つので、 は の日曜素因数のひとつである.また、 は の日曜素因数である。
日曜数は、1個以上の日曜素数の積として表すことができる。表し方は、順序の違いを無視しても、必ずしも一通りではない。たとえば、 である。
以上 以下の日曜数について日曜素因数の一覧表を出力するプログラムを書け。
出力は、小さい日曜数から順に行うものとする。まず、日曜数を表示し,つづけて同じ行にコロン「:」、そして、日曜素因数の並びを、それぞれの前に空白を置いて、小さい順に重複なく表示する。該当の日曜数を複数回割る日曜素因数も1回だけ出力する。
出力する表のうち、たとえば、 に対応する行は、次のようになる。
10878: 7 14 21 42 259 518 777 1554