home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 December / VPR0012A.BIN / OLS / CMKT111 / cmkt111.lzh / Cmachine / sample / gcd.c < prev    next >
C/C++ Source or Header  |  2000-09-07  |  441b  |  35 lines

  1.  
  2. /*
  3.  * C machine サンプル ~ 関数の再帰呼び出し
  4.  *
  5.  * 「ユークリッドの互除法:最大公約数を求める」
  6.  *
  7.  */
  8.  
  9. #include <stdio.h>
  10.  
  11. int gcd(int a, int b)
  12. {
  13.     int    rtn;
  14.  
  15.     if(b == 0)
  16.         rtn = a;
  17.     else
  18.         rtn = gcd(b, a%b);
  19.  
  20.     return rtn;
  21. }
  22.  
  23. int main(void)
  24. {
  25.     int    a, b, c;
  26.  
  27.     printf("a = "); scanf("%d", &a);
  28.     printf("b = "); scanf("%d", &b);
  29.     c = gcd(a, b);
  30.  
  31.     printf("a と b の最大公約数は %d です\n", c);
  32.  
  33.     return 0;
  34. }
  35.