穷举法c语言求两个随机数的最大公约数
时间: 2024-09-07 15:02:14 浏览: 59
穷举法,又称为暴力法,是一种简单直接的算法思想。在求两个随机数的最大公约数(Greatest Common Divisor,GCD)时,穷举法通过尝试所有可能的除数来找到最大的公约数。具体实现时,我们会从较小的那个数开始,逐个减去最小数,直到能够整除为止。但是,这种做法效率非常低。实际上,我们通常使用辗转相除法(也称为欧几里得算法)来求最大公约数,它的时间复杂度更低。
下面是一个使用穷举法求两个随机数最大公约数的C语言示例代码:
```c
#include <stdio.h>
int main() {
int num1, num2;
int gcd = 1; // 初始化最大公约数为1,因为1是所有整数的公约数
// 生成两个随机数
num1 = rand() % 100; // 生成0到99之间的随机数
num2 = rand() % 100; // 生成0到99之间的随机数
// 输出随机数
printf("随机数1:%d\n", num1);
printf("随机数2:%d\n", num2);
// 使用穷举法寻找最大公约数
for (int i = 1; i <= num1 || i <= num2; ++i) {
if (num1 % i == 0 && num2 % i == 0) {
gcd = i; // 更新最大公约数
}
}
// 输出最大公约数
printf("最大公约数:%d\n", gcd);
return 0;
}
```
阅读全文