Advertisement
Ladies_Man

1_15 Fibonacci strings

Jan 20th, 2014
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.19 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char* fibstr(int n)
  6. {
  7.         char* first_str;
  8.         char* prev;
  9.         char* current;
  10.         int i = 0, next_string_len;
  11.  
  12.         prev = malloc(1000);
  13.         strcpy (prev,"a");
  14.  
  15.         current = malloc(1000);
  16.         strcpy (current,"b");
  17.  
  18.         if (n == 1)
  19.         return prev;
  20.         else
  21.         if (n == 2)
  22.             return current;
  23.         else {
  24.              for (i=3;i<=n;i++){
  25.              char* next_str;
  26.  
  27.              next_string_len = strlen(prev) + strlen(current) + 1;//
  28.              next_str = (char* )malloc(next_string_len);  
  29.                      memset(next_str,0,next_string_len);    
  30.  
  31.                      strcat(next_str,prev);      
  32.                      strcat(next_str,current);  
  33.  
  34.                      free (prev);        
  35.  
  36.              prev = current;
  37.              current = next_str;
  38.              }
  39.         }
  40.         free (prev);
  41.  
  42.         return current;
  43. }
  44.  
  45. int main()
  46. {
  47.         unsigned long n;
  48.         scanf("%d", &n);
  49.  
  50.         char* result;
  51.         result = fibstr(n);
  52.         printf("%s", result);
  53.  
  54.         free(result);
  55.         return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement