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

합계 k를 얻는 데 필요한 최소 동전 수를 계산하는 C++ 프로그램

<시간/>

두 개의 숫자 n과 k가 있다고 가정합니다. 1부터 n까지의 가치가 있는 코인을 무제한으로 보유하고 있습니다. 합이 k인 값을 취하려고 합니다. 총합 k를 얻기 위해 여러 개의 동일한 가치의 동전을 선택할 수 있습니다. 합계 k를 얻는 데 필요한 최소 동전 수를 계산해야 합니다.

따라서 입력이 n =6과 같으면; k =16이면 (2 * 6) + 4이므로 출력은 3이 됩니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

c := (n + k - 1) / n
return c

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include<bits/stdc++.h>
using namespace std;

int solve(int n, int k){
   int c=(n+k-1)/n;
   return c;
}
int main(){
   int n = 6;
   int k = 16;
   cout << solve(n, k) << endl;
}

입력

6, 16

출력

3