

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
fi = open("BAI1.inp", "r")
x, y, z = map(int, fi.read().split())
res = (x - 1) // (y - z) + 1
fo = open("BAI1.out", "w")
fo.write(str(res))
Hãy giúp mọi người biết câu trả lời này thế nào?
\begin{array}{c} \color{#db1616}{\texttt{#Khoadang09}} \end{array}
`@`$\texttt{Python: }$
from math import ceil
with open("BAI1.INP", "r") as fi :
d, x, y = map(int,fi.readline().split())
with open("BAI1.OUT", "w") as fo:
fo.write(str(ceil(d/(x - y))))
`@`$\texttt{Code gốc (dịch C++ sang Python): }$
#include <bits/stdc++.h>
#define buff ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
#define int long long
#define name "BAI1"
#define fi freopen(name".INP","r",stdin)
#define fo freopen(name".OUT","w",stdout)
using namespace std;
signed main(){
buff; fi; fo;
int d, x, y; cin >> d >> x >> y;
cout << ceil(d * 1.0 / (x - y));
return 0;
}
`@`$\texttt{Hướng giải: }$
- Gọi `N` là số bước chó và thỏ sẽ gặp nhau và ...
- Do 2 con đều biết thở nên nó sẽ biết chạy, vậy khi chó chạy `N` bước, thỏ cũng chạy `N` bước
- Để chó có thể dí và bắt được thỏ
`<=> X.N >= D + Y.N`
`<=>X.N-Y.N>=D`
`<=>N.(X-Y)>=D`
`<=>N=D/(X-Y)`
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
617
2415
382
Sai tên file bạn ơi
6098
96575
5507
à oki tui cảm ơn
5599
4859
3498
cthuc ông từ mô ra rứa hệ
6098
96575
5507
Đáp án của bài là làm tròn lên của `x/:(y-z)` tương đương với `(x-1):(y-z)+1`, kiểu nếu mà x chia hết cho y-z thì nó giảm bớt đi 1 đơn vị rồi tăng 1 lên lại ở sau í