Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รหัส C++ เพื่อนับจำนวนครั้งที่สามารถรับหินได้


สมมติว่าเรามีตัวเลข n Amal ให้หินแก่ Bimal และเขาให้หินมากกว่าหนึ่งครั้ง แต่ในการย้ายครั้งเดียวถ้า Amal ให้ k ก้อนหิน ในการย้ายครั้งต่อไป เขาไม่สามารถให้ k ก้อนหินได้ ดังนั้นหินที่ได้รับในการเคลื่อนไหวครั้งเดียวจะต้องแตกต่างจากการย้ายครั้งก่อน เราต้องนับจำนวนครั้งที่ Amal สามารถมอบก้อนหินให้ Bimal ได้

ดังนั้น หากอินพุตเป็นเหมือน n =4 ผลลัพธ์จะเป็น 3 เพราะ 1 สโตน ตามด้วย 2 สโตน และอีก 1 สโตน

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

return (n * 2 + 1) / 3

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#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;
}

อินพุต

4

ผลลัพธ์

3