สมมติว่าเรามีตัวเลขสองจำนวน a และ b อมลตั้งเสียง TV ที่ 'b' แต่บิมลเปลี่ยนเป็น 'a' รีโมทมี 6 ปุ่ม (-5, -2, -1, 1, 2, 5) ใช้เพิ่ม/ลดเสียง 1, 2, 5 ระดับเสียงใหญ่ได้แต่มากกว่า 0 ต้องนับปุ่มน้อยสุดที่ต้องกดให้เสียงกลับเป็น 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