Giả sử chúng ta có một số n. Amal đưa một số viên đá cho Bimal và anh ta đưa đá nhiều lần, nhưng trong một lần di chuyển nếu Amal đưa k viên đá thì ở nước đi tiếp theo anh ta không thể đưa k viên đá, vì vậy những viên đá được đưa trong một lần di chuyển phải khác với nước đi trước đó. Chúng ta phải đếm số lần Amal có thể đưa đá cho Bimal.
Vì vậy, nếu đầu vào là n =4, thì đầu ra sẽ là 3, bởi vì 1 viên đá rồi 2 viên đá rồi lại 1 viên đá.
Các bước
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
return (n * 2 + 1) / 3
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#include <bits/stdc++.h> using namespace std; int solve(int n){ return (n * 2 + 1) / 3; } int main(){ int n = 4; cout << solve(n) << endl; }
Đầu vào
4
Đầu ra
3