Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

클라이언트가 호출할 때 수집된 순서를 계산하는 C++ 코드

<시간/>

세 개의 숫자 n, m, z가 있다고 가정합니다. 사무실은 n분마다 전화를 받고 일부 배달은 m분마다 사무실로 옵니다. 사무실은 z분 동안 열려 있습니다. 클라이언트가 호출할 때 보류 중인 주문이 없도록 수집된 최소 주문 수를 계산해야 합니다. 주문을 받고 고객과 대화하는 데 정확히 1분이 소요됩니다.

따라서 입력이 n =1과 같으면; m =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