Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- char fibo[5000][1001];
- void build_fibo_string()
- {
- int i, j;
- for(i = 0; i < 5000; i++){
- for(j = 0; j < 1000; j++){
- fibo[i][j] = '0';
- }
- fibo[i][1000] = '\0';
- }
- }
- void create_fibo_number(int n)
- {
- int sum = 0, carry = 0;
- int i;
- for(i = 999; i >= 0; i--){
- sum = fibo[n-1][i] + fibo[n-2][i] + carry - '0' - '0';
- carry = (sum) / 10;
- fibo[n][i] = (sum) % 10 + '0';
- }
- }
- void build_fibo_number()
- {
- int i, j;
- fibo[0][999] = '1';
- fibo[1][999] = '1';
- for(i = 2; i < 5000; i++){
- create_fibo_number(i);
- if(fibo[i][0] > '0') break;
- }
- }
- int main()
- {
- int n, i, j;
- build_fibo_string();
- build_fibo_number();
- while(scanf("%d", &n) == 1){
- i = 0;
- //printf("HI\n");
- for(i = 0; ; i++){
- //printf("HELLO\n");
- if(fibo[n - 1][i] != '0'){
- for(j = i; j < 1000; j++){
- printf("%c", fibo[n - 1][j]);
- }
- printf("\n");
- break;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement