Please enable java script to visit.
NOTEBOOK
HOMEPHP / MySQLJS / HTMLWXappPythonC++Blender其他
阿基米德特性【*】 - NOTEBOOK
阿基米德特性【*】
C++
Posted on 2023-08-03
摘要 : 阶梯思路,到底使用那种方式解题。
“阿基米德特性”是这样一条性质:对任意两个整数 a、b,保证 0<a<b,总是存在整数m>0,使得 a*m>b。
请编写成组,输入 a、b,输出最小的 m。

输入:两个整数,a、b。0<b<10+e9
输出:整数m

❱ 分析

有的同学,使用 for 循环,从m=1开始尝试,比较a*m和b的大小。最终得到 m的值。
这种方式可以得到正确答案,但如果b值很大,而a值很小时,就会出现一种情况,程序会循环很多次才能达到结果,浪得时间和资源,甚至程序会超时。
所以更好的办法是,直接用b/a来判断。
#include <iostream>
using namespace std;

int main(){
int a,b;
cin >>a>>b;

if(b%a==0){
cout<<b/a;
}else{
cout<<b/a+1;
}
return 0;
}