21...となるので,F(21200)=01したがって,Xの十の位は0.解答・その16(ペンネ−ム:うめぞー)百の位以上の数字にどんな整数をかけても十の位に影響しないのでmod100で考えればよい。(a2+a)+21≡21より(3×7)×...×(93×97)≡2110=((21×21)×(21×21×21))2≡(41×61)2≡12=1よってX≡120=1求める数は十の位なので0解答・その17(ペンネ−ム:Ryu1128)2001以下の正の整数の内、1の位が3と7の数を並べると3,7,13,17,23,27,・・・・1993,1997です。1から10までの間に1の位に1つづつ3と7が含まれるので各々2001までに200個づつ出てきます・・・・・(1)この数列の積を小さい順に2項ずつまとめますX=(3×7)・(13×17)・(23×27)・(33×37)・・・・・・(1993×1997)()を一塊と考え、i番目の積に着目します。Xの10の位に影響しませんから、Xの10の位を求めるには結局21200・・・・・(2)の10の位を求めればよいことが解ります。ここで(2)を次のように変形し2項展開を考えて見ます。(2)=(20+1)200この2項展開で20のべき乗が10の位にとどまるのは1と0だけでその時の2項係数は200と1です。1×200×120・・・(3)を調べればよいわけでこれは4001となり10の位は0となります。計算機を使って解きました。0;}C言語版プログラムどちらのプログラムも、問題文を素直に実行しているだけです。微妙に違いがあります。選んだ(別の)リストを作り、その要素のすべての積を(1147桁の数です)求め、その十の位を書き出しています。最後に、その時点のxの十の位を書き出ています。いうのも、あまり自明ではありません。....}とおき、集合Aに含まれる整数すべての積をXとする。上、計算途中で100以上の位は無視してかまわない。213,217のように十以上の位が同じ数字同士の積を計算してみる。mod100よってXの十の位は21を何乗かした値の十の位である。10乗を何乗かした値、つまり21の5乗の2乗を何乗かした値の十の位と同じである。1を何乗しようが値は1のままなので、Xの十の位は0。それぞれ1〜10の中に1つずつ、11〜20の中に1つずつ、...、1990から2000の中にひとつずつある。一の位が3である数字は10n+3、一の位が7である数字は10n+7とあらわされる。これらをかけると、(10n+3)(10n+7)=100n2+(3+7)10n+21=100(n2+1)+21となる。一の位が3である数字と7である数字をかけた数字の下二桁は21になる。その十の位は21の200乗と同じになる。ここで、Xの下二桁は21200と同じであった。200=40×5と表すことができるので、Xの十の位は0である。解答・その21(ペンネ−ム:三角定規)1の位が3または7である連続する2数は10k+3,10k+7(k=0,1,2,...)と書ける。下2桁が「21」となっています。(10k+3)(10k+7)=100k2+(70+30)k+21=100(k2+k)+21「3+7=10」がポイントですね。これについては、まめさんが考察してくださいました。この問題は、十の位を求めたいわけですから、下2桁だけに注目すればよいわけです。帰着されるわけですね。因みに、数学オリンピック予選問題のオリジナルは、「2011以下の」となっていますね。したがって、解答は「2」です。