输入说明 输入两个正整数a和b ,且有0 < a < b 。 输出说明 输出一个整数,表示使得a * m > b的最小的整数m。用c语言
时间: 2024-09-27 07:04:26 浏览: 38
输入两个正整数m和n,求其最大公约数 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛
在C语言中,为了计算满足条件 `a * m > b` 的最小整数m,你可以编写如下的函数:
```c
#include <stdio.h>
int findMinM(int a, int b) {
// 初始值设为 b / a + 1,因为a和b都是正整数,所以a乘以b/a必然小于等于b,加一才能保证a*m大于b
int m = (b / a) + 1;
// 验证是否确实满足条件,如果满足则返回m,如果不满足,则向下减去a,直到找到第一个大于b的情况
while (a * m <= b) {
m++;
}
return m;
}
int main() {
int a, b;
printf("请输入两个正整数a和b (0 < a < b): ");
scanf("%d %d", &a, &b);
if (a >= b || a <= 0 || b <= 0) {
printf("输入错误!a应满足0 < a < b。\n");
return 1;
}
int minM = findMinM(a, b);
printf("最小的整数m是: %d\n", minM);
return 0;
}
```
这个程序首先假设m为 `(b / a) + 1`,然后通过循环不断增大m,直到 `a * m` 大于 `b`。注意,在主函数中检查了输入是否满足题目要求,确保a、b都是正整数且0 < a < b。
阅读全文