Last active
April 1, 2024 15:11
-
-
Save snowmerak/494dd9547ec1990aa306a63028755e4d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
int print_uint128(__uint128_t n); | |
__uint128_t fib(__uint128_t n); | |
int main() { | |
for (__uint128_t i = 1; i <= 100; i++) { | |
printf("fib("); | |
print_uint128(i); | |
printf(") = "); | |
print_uint128(fib(i)); | |
printf("\n"); | |
} | |
return 0; | |
} | |
__uint128_t fib(__uint128_t n) { | |
__uint128_t a = 0, b = 1, c; | |
for (__uint128_t i = 0; i < n; i++) { | |
c = a + b; | |
a = b; | |
b = c; | |
} | |
return a; | |
} | |
int print_uint128(__uint128_t n) { | |
if (n == 0) | |
return printf("0"); | |
char str[40] = {0}; | |
char *s = str + sizeof(str) - 1; | |
while (n != 0) { | |
if (s == str) | |
return -1; | |
*--s = "0123456789"[n % 10]; | |
n /= 10; | |
} | |
return printf("%s", s); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fib(1) = 1 | |
fib(2) = 1 | |
fib(3) = 2 | |
fib(4) = 3 | |
fib(5) = 5 | |
fib(6) = 8 | |
fib(7) = 13 | |
fib(8) = 21 | |
fib(9) = 34 | |
fib(10) = 55 | |
fib(11) = 89 | |
fib(12) = 144 | |
fib(13) = 233 | |
fib(14) = 377 | |
fib(15) = 610 | |
fib(16) = 987 | |
fib(17) = 1597 | |
fib(18) = 2584 | |
fib(19) = 4181 | |
fib(20) = 6765 | |
fib(21) = 10946 | |
fib(22) = 17711 | |
fib(23) = 28657 | |
fib(24) = 46368 | |
fib(25) = 75025 | |
fib(26) = 121393 | |
fib(27) = 196418 | |
fib(28) = 317811 | |
fib(29) = 514229 | |
fib(30) = 832040 | |
fib(31) = 1346269 | |
fib(32) = 2178309 | |
fib(33) = 3524578 | |
fib(34) = 5702887 | |
fib(35) = 9227465 | |
fib(36) = 14930352 | |
fib(37) = 24157817 | |
fib(38) = 39088169 | |
fib(39) = 63245986 | |
fib(40) = 102334155 | |
fib(41) = 165580141 | |
fib(42) = 267914296 | |
fib(43) = 433494437 | |
fib(44) = 701408733 | |
fib(45) = 1134903170 | |
fib(46) = 1836311903 | |
fib(47) = 2971215073 | |
fib(48) = 4807526976 | |
fib(49) = 7778742049 | |
fib(50) = 12586269025 | |
fib(51) = 20365011074 | |
fib(52) = 32951280099 | |
fib(53) = 53316291173 | |
fib(54) = 86267571272 | |
fib(55) = 139583862445 | |
fib(56) = 225851433717 | |
fib(57) = 365435296162 | |
fib(58) = 591286729879 | |
fib(59) = 956722026041 | |
fib(60) = 1548008755920 | |
fib(61) = 2504730781961 | |
fib(62) = 4052739537881 | |
fib(63) = 6557470319842 | |
fib(64) = 10610209857723 | |
fib(65) = 17167680177565 | |
fib(66) = 27777890035288 | |
fib(67) = 44945570212853 | |
fib(68) = 72723460248141 | |
fib(69) = 117669030460994 | |
fib(70) = 190392490709135 | |
fib(71) = 308061521170129 | |
fib(72) = 498454011879264 | |
fib(73) = 806515533049393 | |
fib(74) = 1304969544928657 | |
fib(75) = 2111485077978050 | |
fib(76) = 3416454622906707 | |
fib(77) = 5527939700884757 | |
fib(78) = 8944394323791464 | |
fib(79) = 14472334024676221 | |
fib(80) = 23416728348467685 | |
fib(81) = 37889062373143906 | |
fib(82) = 61305790721611591 | |
fib(83) = 99194853094755497 | |
fib(84) = 160500643816367088 | |
fib(85) = 259695496911122585 | |
fib(86) = 420196140727489673 | |
fib(87) = 679891637638612258 | |
fib(88) = 1100087778366101931 | |
fib(89) = 1779979416004714189 | |
fib(90) = 2880067194370816120 | |
fib(91) = 4660046610375530309 | |
fib(92) = 7540113804746346429 | |
fib(93) = 12200160415121876738 | |
fib(94) = 19740274219868223167 | |
fib(95) = 31940434634990099905 | |
fib(96) = 51680708854858323072 | |
fib(97) = 83621143489848422977 | |
fib(98) = 135301852344706746049 | |
fib(99) = 218922995834555169026 | |
fib(100) = 354224848179261915075 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment