找最大公约数
#include <stdio.h> int main() {int a, b;scanf("%d %d", &a, &b); int gcd = 1; // 初始化最大公约数为1 int min = (a < b) ? a : b; // 找到a和b中的较小值 // 遍历从2到min的所有可能的公约数 for (int i = 2; i <= min; i++) { if ((a % i == 0) && (b % i == 0)) { gcd = i; // 更新最大公约数 } } printf("%d与%d的最大公约数是%d\n", a, b, gcd); return 0; }
#include <stdio.h> int main() {int a, b;scanf("%d %d", &a, &b); int gcd = 1; // 初始化最大公约数为1 int min = (a < b) ? a : b; // 找到a和b中的较小值 int i = 2; // 初始化循环变量 while (i <= min) { // 使用while循环 if ((a % i == 0) && (b % i == 0)) { gcd = i; // 更新最大公约数 } i++; // 更新循环变量 } printf("%d与%d的最大公约数是%d\n", a, b, gcd); return 0;
}