#include <stdio.h> int 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 サイトの他の関連記事を参照してください。