mixiの「C/C++の課題丸投げ」コミュニティから「最大公約数の関数」の問題
最大公約数に関する次の関係を使って、2つの整数aとbを入力して、それらの最大公約数を求める整数型再帰関数GCD(a,b)を再帰関数を用いて作ってください。 GCD(a,b)=a (a=b) =GCD(a-b,b) (a>b) =GCD(a,b-a) (a<b) LinuxでC言語です。できれば今週中にお願いします。
回答例
#include <stdio.h> int gcd(int a, int b){ if(a==b) return a; else if(a>b) return gcd(a-b, b); else return gcd(a, b-a); } int main(int args, char *argv[]){ int result = gcd(atoi(argv[1]), atoi(argv[2])); printf("%d", result); exit(0); }