给定两个正整数 a,b,找到最小的整数 c≥0,使得 最大公约数gcd(a+c,b+c)不等于1,用c++语言编程解决
时间: 2024-04-29 17:27:05 浏览: 175
C++ 实现求最大公约数和最小公倍数
以下是使用C语言编写的代码解决该问题:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a%b);
}
int main() {
int a, b;
printf("请输入两个正整数a和b:");
scanf("%d %d", &a, &b);
int c = 0;
while (gcd(a, b) == 1) {
c++;
a *= a;
b *= b;
}
printf("最小的整数c为:%d\n", c);
return 0;
}
```
对于给定的正整数a和b,我们利用while循环来不断增加c的值,同时计算a和b的c次方。在每次计算后,调用gcd函数来求解它们的最大公约数。当最大公约数不为1时,跳出循环,输出最小的整数c。
阅读全文