カメヲラボ

主にプログラミングとお勉強全般について書いてます

CodeIQ過去問集27:大きなべき乗の計算

本稿はCodeIQで2014年12月1日~12月29日に出題された コード銀行:大きなべき乗の計算 という問題を再編集したものです。 ※出題時と記述が一部異なる場合がありますがご了承ください。

大きなべき乗の計算

【問題】

べき乗の計算を行うと、指数部分がそれほど大きくなくても計算結果が非常に大きくなってしまいます。

2の10乗: 1024
2の50乗: 1125899906842624
2の100乗: 1267650600228229401496703205376

ですので、求めるのはべき乗の下8桁のみで結構です。 ただし、高速に計算するプログラムを書いてください。

【入力・出力】

以下のように、半角スペースで区切られた整数値のセットが改行区切りで書かれたファイルが与えられます。

a1 x1
a2 x2
a3 x3
.
.
.
an xn
0 0

各行のa, xについてaのx乗を計算し、結果を標準出力に出力してください。ただし、不要な0は出力する必要はありません(たとえば下8桁が00000100の場合は100と出力してください)。a, xが共に0の場合は、プログラムを終了してください。 ※a, xの値は、符号なし32bit整数(0~4294967295)とします。

【解答方法】

pow8.zipをダウンロードしてください。 中には以下のファイルが含まれています。

  • sample.in.txt, sample.out.txt

入出力の例です。sample.in.txtを入力とした結果が、sample.out.txtと一致しているかどうかを必ずご確認ください。

  • testdata.in.txt これを入力として、正しい実行結果が得られるプログラムを書いてください。

(解答・解説は後日)