C语言实现求解两个整数之间约数最多的数
以下是使用C语言实现的代码:
#include <stdio.h>
int count_divisors(int num) {
int count = 0;
for (int i = 1; i <= num; i++) {
if (num % i == 0) {
count++;
}
}
return count;
}
int main() {
int a, b;
printf("请输入两个正整数(a ≤ b):");
scanf("%d%d", &a, &b);
int max_divisors = 0;
int result = a;
for (int i = a; i <= b; i++) {
int divisors = count_divisors(i);
if (divisors > max_divisors) {
max_divisors = divisors;
result = i;
}
}
printf("在%d和%d之间,约数个数最多的数是%d,约数个数为%d\n", a, b, result, max_divisors);
return 0;
}
这段代码首先定义了一个count_divisors函数,用于计算一个数的约数个数。然后在main函数中,首先输入两个正整数a和b,然后通过遍历a到b之间的所有数,调用count_divisors函数计算每个数的约数个数。如果约数个数大于当前最大值,则更新最大值和结果。最后输出结果。
注意:这段代码假设输入的a和b都是合法的正整数,并且a小于等于b。如果输入不符合要求,可能导致程序出错。在实际应用中,应该对输入进行合法性检查并处理异常情况。
原文地址: http://www.cveoy.top/t/topic/htKD 著作权归作者所有。请勿转载和采集!