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

C++에서 N보다 작거나 같고 합이 S인 최소 숫자

<시간/>

문제 설명

1에서 N까지의 N 숫자와 숫자 S가 주어지면 S

를 제공하기 위해 합산되는 숫자의 최소 수를 인쇄합니다.

예시

n =7이고 s =10이면 최소 2개의 숫자가 필요합니다.

(9, 1)
(8, 2)
(7, 3)
(6, 4)

알고리즘

Answer can be calculated using below formula
(S/N) + 1 if { S %N > 0}
을 사용하여 답을 계산할 수 있습니다.

예시

#include <bits/stdc++.h>
using namespace std;
int getMinNumbers(int n, int s)
{
   return s % n ? s / n + 1 : s / 2;
}
int main()
{
   int n = 7;
   int s = 10;
   cout << "Required minimum numbers = " <<
   getMinNumbers(n, s) << endl;
   return 0;
}

위의 프로그램을 컴파일하고 실행할 때. 다음 출력을 생성합니다.

출력

Required minimum numbers = 2