#includeint gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); } int main() { int num1, num2; printf("请输入两个整数:"); scanf("%d %d", &num1, &num2); int result = gcd(num1, num2); printf("最大公约数为:%d ", result); return 0; }
gcdを定義します。この関数では、最初に
bが 0 に等しいかどうかを判断します。0 に等しい場合は、最大公約数として
aを返します。それ以外の場合は、自分自身を呼び出し、
bと
a % bをパラメータとして受け取り、再帰的に解決して最大公約数を見つけます。最後に、
main関数では、ユーザーが入力した 2 つの整数を受け入れ、パラメータとして
gcd関数に渡し、最大公約数を出力します。
aとして、25 を
bとして
gcd関数に渡します。
bは 0 ではないため、
gcd関数を再度呼び出して、25 を
aとして、10 % 25 (つまり 10) を
bとして渡す必要があります。入る。ここで、もう一度
gcd関数を呼び出し、10 を
aとして、25 % 10 (つまり 5) を
bとして渡します。この時点では、
bはまだ 0 ではないため、もう一度
gcd関数を呼び出し、
aとして 5、
として 10 % 5 (つまり 0) を使用します。 b渡してください。このとき
bは 0 であるため、関数は直接
a(5) を返します。したがって、最大公約数は 5 になります。
以上がC言語で最大公約数を求める方法を学びましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。