#include <stdio.h>
// ① 3の累乗を計算してresult配列に格納する関数
void power3(unsigned long result[]) {
result[0] = 1; // 3の0乗は1
for (int i = 1; i < 100; i++) {
result[i] = result[i-1] * 3; // 前の結果に3を掛けて次の値を計算
}
}
// ② result配列の内容を表示する関数
void print_result(unsigned long result[]) {
for (int i = 1; i < 100; i++) { // 1乗から99乗まで表示
printf("3^%d = %lu\n", i
, result
[i
]); }
}
int main() {
unsigned long result[100] = {0}; // 結果を格納する配列
// 3の累乗を計算して配列に格納
power3(result);
// 結果を表示
print_result(result);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDikaAgM+OBrue0r+S5l+OCkuioiOeul+OBl+OBpnJlc3VsdOmFjeWIl+OBq+agvOe0jeOBmeOCi+mWouaVsAp2b2lkIHBvd2VyMyh1bnNpZ25lZCBsb25nIHJlc3VsdFtdKSB7CiAgICByZXN1bHRbMF0gPSAxOyAgLy8gM+OBrjDkuZfjga8xCiAgICBmb3IgKGludCBpID0gMTsgaSA8IDEwMDsgaSsrKSB7CiAgICAgICAgcmVzdWx0W2ldID0gcmVzdWx0W2ktMV0gKiAzOyAgLy8g5YmN44Gu57WQ5p6c44GrM+OCkuaOm+OBkeOBpuasoeOBruWApOOCkuioiOeulwogICAgfQp9CgovLyDikaEgcmVzdWx06YWN5YiX44Gu5YaF5a6544KS6KGo56S644GZ44KL6Zai5pWwCnZvaWQgcHJpbnRfcmVzdWx0KHVuc2lnbmVkIGxvbmcgcmVzdWx0W10pIHsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgMTAwOyBpKyspIHsgIC8vIDHkuZfjgYvjgok5OeS5l+OBvuOBp+ihqOekugogICAgICAgIHByaW50ZigiM14lZCA9ICVsdVxuIiwgaSwgcmVzdWx0W2ldKTsKICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICB1bnNpZ25lZCBsb25nIHJlc3VsdFsxMDBdID0gezB9OyAgLy8g57WQ5p6c44KS5qC857SN44GZ44KL6YWN5YiXCiAgICAKICAgIC8vIDPjga7ntK/kuZfjgpLoqIjnrpfjgZfjgabphY3liJfjgavmoLzntI0KICAgIHBvd2VyMyhyZXN1bHQpOwogICAgCiAgICAvLyDntZDmnpzjgpLooajnpLoKICAgIHByaW50X3Jlc3VsdChyZXN1bHQpOwogICAgCiAgICByZXR1cm4gMDsKfQoK