สมมติว่าเรามีตัวเลขสามตัว n, m และ z สำนักงานรับสายทุก ๆ n นาที และการส่งมอบบางรายการมาที่สำนักงานในทุก ๆ นาที สำนักงานเปิดเป็นเวลา z นาที เราต้องนับจำนวนคำสั่งซื้อขั้นต่ำที่รวบรวมไว้ ดังนั้นจึงไม่มีคำสั่งซื้อที่รอดำเนินการเมื่อลูกค้าโทรมา พิจารณารับคำสั่งซื้อและพูดคุยกับลูกค้าโดยใช้เวลาเพียง 1 นาที
ดังนั้น ถ้าอินพุตเป็นเหมือน n =1; ม. =2; z =5 แล้วผลลัพธ์จะเป็น 2 เพราะเราต้องรวบรวมคำสั่งที่มาในนาทีที่ 2 และ 4
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
return z / ((n * m) / (gcd of n and m))
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h> using namespace std; int solve(int n, int m, int z){ return z / ((n * m) / __gcd(n, m)); } int main(){ int n = 1; int m = 2; int z = 5; cout << solve(n, m, z) << endl; }
อินพุต
1, 2, 5
ผลลัพธ์
2