#include <stdio.h>
#include <stdlib.h>
int fib(int n) {
int a = 0, b = 1, t;
for (int i = 2; i <= n; i++) {
t = a + b;
a = b;
b = t;
}
return (n == 0) ? 0 : b;
}
int pow_k(int n, int k) {
int r = 1;
for (int i = 0; i < k; i++) r *= n;
return r;
}
int main() {
int k, best_n = 1, min_diff = 2147483647;
for (int n = 1; n <= 100; n++) {
int f = fib(n);
int p = pow_k(n, k);
if (d < min_diff) {
min_diff = d;
best_n = n;
}
}
printf("最小差の n = %d\n", best_n
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBmaWIoaW50IG4pIHsKICAgIGludCBhID0gMCwgYiA9IDEsIHQ7CiAgICBmb3IgKGludCBpID0gMjsgaSA8PSBuOyBpKyspIHsKICAgICAgICB0ID0gYSArIGI7CiAgICAgICAgYSA9IGI7CiAgICAgICAgYiA9IHQ7CiAgICB9CiAgICByZXR1cm4gKG4gPT0gMCkgPyAwIDogYjsKfQoKaW50IHBvd19rKGludCBuLCBpbnQgaykgewogICAgaW50IHIgPSAxOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBrOyBpKyspIHIgKj0gbjsKICAgIHJldHVybiByOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBrLCBiZXN0X24gPSAxLCBtaW5fZGlmZiA9IDIxNDc0ODM2NDc7IAoKICAgIHByaW50ZigiayA9ICIpOwogICAgc2NhbmYoIiVkIiwgJmspOwoKICAgIGZvciAoaW50IG4gPSAxOyBuIDw9IDEwMDsgbisrKSB7CiAgICAgICAgaW50IGYgPSBmaWIobik7CiAgICAgICAgaW50IHAgPSBwb3dfayhuLCBrKTsKICAgICAgICBpbnQgZCA9IGFicyhmIC0gcCk7CgogICAgICAgIGlmIChkIDwgbWluX2RpZmYpIHsKICAgICAgICAgICAgbWluX2RpZmYgPSBkOwogICAgICAgICAgICBiZXN0X24gPSBuOwogICAgICAgIH0KICAgIH0KCiAgICBwcmludGYoIuacgOWwj+W3ruOBriBuID0gJWRcbiIsIGJlc3Rfbik7CiAgICByZXR1cm4gMDsKfQo=