C++ :
#include <iostream>
unsigned long long table[50] = {
1ULL, 1ULL, 1ULL, 2ULL, 3ULL, 5ULL, 9ULL, 18ULL, 35ULL,
75ULL, 159ULL, 355ULL, 802ULL, 1858ULL, 4347ULL, 10359ULL, 24894ULL, 60523ULL, 148284ULL,
366319ULL, 910726ULL, 2278658ULL, 5731580ULL, 14490245ULL, 36797588ULL, 93839412ULL,
240215803ULL, 617105614ULL, 1590507121ULL, 4111846763ULL, 10660307791ULL, 27711253769ULL,
72214088660ULL, 188626236139ULL, 493782952902ULL, 1295297588128ULL, 3404490780161ULL, 8964747474595ULL,
23647478933969ULL, 62481801147341ULL, 165351455535782ULL, 438242894769226ULL, 1163169707886427ULL,
3091461011836856ULL, 8227162372221203ULL, 21921834086683418ULL, 58481806621987010ULL, 156192366474590639ULL,
417612400765382272ULL, 1117743651746953270ULL
};
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n;
while (cin >> n) {
if(n == 0)
break;
cout << table[n-1] << '\n';
}
return 0;
}
Python :
table = [
1, 1, 1, 2, 3, 5, 9, 18, 35,
75, 159, 355, 802, 1858, 4347, 10359, 24894, 60523, 148284,
366319, 910726, 2278658, 5731580, 14490245, 36797588, 93839412,
240215803, 617105614, 1590507121, 4111846763, 10660307791, 27711253769,
72214088660, 188626236139, 493782952902, 1295297588128, 3404490780161, 8964747474595,
23647478933969, 62481801147341, 165351455535782, 438242894769226, 1163169707886427,
3091461011836856, 8227162372221203, 21921834086683418, 58481806621987010, 156192366474590639,
417612400765382272, 1117743651746953270
]
while True:
n = int(input())
if n == 0:
break
print(table[n-1])