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

โค้ด C++ นับออเดอร์ที่เก็บได้เมื่อลูกค้าติดต่อ

สมมติว่าเรามีตัวเลขสามจำนวน n, m และ z สำนักงานรับสายทุก n นาที และมีของส่งมาทุก m นาที สำนักงานเปิด z นาที ต้องนับจำนวนออเดอร์ขั้นต่ำที่เก็บได้ เพื่อไม่มีออเดอร์ค้างเมื่อลูกค้าติดต่อ สมมติการรับออเดอร์และพูดคุยใช้เวลา 1 นาทีพอดี

เช่น ถ้าอินพุตคือ n = 1; m = 2; z = 5 เอาต์พุตจะเป็น 2 เพราะต้องเก็บออเดอร์ที่มาในนาทีที่ 2 และ 4

ขั้นตอนการแก้ปัญหา

return z / ((n * m) / (gcd ของ n และ 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