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