สมมติว่าเรามีตัวเลขสองตัว 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