[ create a new paste ] login | about

Link: http://codepad.org/fYdW3Dpf    [ raw code | output | fork ]

C, pasted on Jul 17:
#include <stdio.h>
int gcd(int fa , int fb);
static int count = 0;

int main() {
  int a, b, g;
  printf("input two integer \n");
  printf("number 1: ");
  scanf("%d", &a);
  printf("number 2: ");
  scanf("%d", &b);
  g = gcd(a, b);
  printf("gcd(%d, %d) is %d\n",a, b, g);
  printf("calling: %d times\n", count);
  return 0;
}

int gcd(int fa, int fb) {
  count++;
  printf("calling gcd() No.%d, a = %d, b = %d\n", count, fa, fb);
  if (fb == 0)
    return fa;
  return gcd(fb, fa % fb);
}
/* end */


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
input two integer 
number 1: number 2: calling gcd() No.1, a = 134513601, b = -1085860024
calling gcd() No.2, a = -1085860024, b = 134513601
calling gcd() No.3, a = 134513601, b = -9751216
calling gcd() No.4, a = -9751216, b = 7747793
calling gcd() No.5, a = 7747793, b = -2003423
calling gcd() No.6, a = -2003423, b = 1737524
calling gcd() No.7, a = 1737524, b = -265899
calling gcd() No.8, a = -265899, b = 142130
calling gcd() No.9, a = 142130, b = -123769
calling gcd() No.10, a = -123769, b = 18361
calling gcd() No.11, a = 18361, b = -13603
calling gcd() No.12, a = -13603, b = 4758
calling gcd() No.13, a = 4758, b = -4087
calling gcd() No.14, a = -4087, b = 671
calling gcd() No.15, a = 671, b = -61
calling gcd() No.16, a = -61, b = 0
gcd(134513601, -1085860024) is -61
calling: 16 times


Create a new paste based on this one


Comments: