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

รหัส C++ นับปุ่มขั้นต่ำ คลิ๊กปรับระดับเสียงเหมือนเมื่อก่อน


สมมติว่าเรามีตัวเลขสองตัว a และ b Amal ตั้งค่าระดับเสียงทีวีเป็น 'b' เสมอ แต่สักวันหนึ่งBimal ได้เปลี่ยนเป็นค่า 'a' รีโมทมีปุ่มทั้งหมด 6 ปุ่ม (-5, -2, -1, 1, 2, 5) โดยเราสามารถเพิ่มหรือลดระดับเสียงได้ 1, 2 หรือ 5 ระดับเสียงอาจมีขนาดใหญ่มากแต่ไม่ติดลบ เราต้องนับ จำนวนปุ่ม Amal ต้องกดอย่างน้อยที่สุดเพื่อให้ได้ระดับเสียงเท่ากับ b.

ดังนั้นหากอินพุตเป็นเหมือน a =5; b =14 จากนั้นผลลัพธ์จะเป็น 3 เพราะกด +5 เพื่อรับ 10 จากนั้น +2 สองครั้งเพื่อให้ได้ 14

ขั้นตอน

ขั้นตอน

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

d := |a - b|
return (d / 5 + (d mod 5 + 1) / 2)

ตัวอย่าง

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

#include <bits/stdc++.h>
using namespace std;
int solve(int a, int b){
   int d = abs(a - b);
   return (d / 5 + (d % 5 + 1) / 2);
}
int main(){
   int a = 5;
   int b = 14;
   cout << solve(a, b) << endl;
}

อินพุต

5, 14

ผลลัพธ์

3