我正试图起草一部法典,以计算两个数字的乘数。
虽然如此,我还是可以印刷数字的分歧。 我正在努力印刷最大的分歧。
#include <stdio.h>
void gcd(int num1, int num2, int i) {
int x;
int small = (num1 < num2) ? num1 : num2;
if (i == small) {
return;
} else {
if (num1 % i == 0 && num2 % i == 0) {
x = i;
printf("%d ", x);
}
gcd(num1, num2, i + 1);
}
}
int main() {
int num1, num2, i;
printf("Enter the 1st number: ");
scanf("%d", &num1);
printf("Enter the 2nd number: ");
scanf("%d", &num2);
i = 1;
gcd(num1, num2, i);
return 0;
}
现在只印刷最大的分歧。 但是,当我管理该方案时,我会随机获得产出(可能会有问题)。 我如何解决这一问题?
#include <stdio.h>
void gcd(int num1, int num2, int i) {
int x;
int small = (num1 < num2) ? num1 : num2;
if (i == small) {
return;
} else {
if (num1 % i == 0 && num2 % i == 0) {
x = i;
}
gcd(num1, num2, i + 1);
}
printf("%d ", x);
}
int main() {
int num1, num2, i;
printf("Enter the 1st number: ");
scanf("%d", &num1);
printf("Enter the 2nd number: ");
scanf("%d", &num2);
i = 1;
gcd(num1, num2, i);
return 0;
}