最大公約数を求める (再帰)
明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう >
最大公約数を求める (再帰)
C
#include <stdio.h>int gcdf(int vx, int vy)
{
return (vy == 0 ? vx : gcdf(vy, vx % vy));
}int gcd(int va, int vb)
{
return (va > vb ? gcdf(va, vb) : gcdf(vb, va));
}int main(int argc, char* argv[])
{
int n1 = 8;
int n2 = 22;
printf("%dと%dの最大公約数は%dです。\n", n1, n2, gcd(n1, n2));return 0;
}
実行結果
T:\>lesson064\Project1.exe
22と8の最大公約数は2です。