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

C++에 필요한 통화 메모의 수를 계산합니다.

<시간/>

지불해야 하는 루피 금액이 주어지면 pay_rupees와 Rupees_amount_1 및 Rupees_amount_2와 같은 가치가 있는 무제한 지폐가 있다고 가정해 보겠습니다. 목표는 정확히 총 노트 수=distribution_total을 사용하여 pay_rupees를 지불하고 필요한 Rupees_amount_1 유형의 노트 수를 계산하는 것입니다. 지불할 솔루션이 없으면 답으로 −1을 반환합니다.

예를 들어

입력

Rupees_amount_1 = 1, Rupees_amount_2 = 5, pay_Rupees = 11 distribution_total = 7

출력

Count of number of currency notes needed are − 6

설명

6*1 + 5*1 = 11 and notes=6+1=7

입력

Rupees_amount_1 = 2, Rupees_amount_2 = 3, pay_Rupees = 10 distribution_total = 4

출력

Count of number of currency notes needed are: 2

설명

2*2 + 3*2 = 10 and notes=2+2=4

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다. -

a1을 금액 루피 1의 지폐 수라고 하고 N을 총 지폐 수라고 합니다. P를 지불하기 위해 다음 방정식이 있습니다. a1*(Rupee_amount_1) + (N−a1)*(Rupee_amount_2) =P P=a1*(Rupee_amount_1) + (N)*(Rupee_amount_2) − (a1)*(Rupee_amount_2 ) P − (N)*(Rupees_amount_2) =a1*(Rupees_amount_1) − (a1)*(Rupees_amount_2) a1=P − (N)*(Rupees_amount_2) / ( Rupees_amount_1 − Rupees_amount_2) a1이 정수인 경우에만 그렇지 않으면 -1을 반환합니다.

  • 모든 숫자를 입력으로 사용하십시오.

  • Notes_needed(int Rupees_amount_1, int Rupees_amount_2, intpay_Rupee, int distribution_total) 함수는 모든 입력을 받아 필요한 통화 메모 수를 반환합니다.

  • 초기 카운트를 0으로 합니다.

  • 합계 =pay_Rupee − (Rupee_amount_2 * distribution_total)

  • total_given =Rupees_amount_1 − Rupees_amount_2

    설정
  • total_given =Rupees_amount_1 − Rupees_amount_2

    설정
  • total % total_given ==0이면 total / total_given으로 count를 반환합니다.

  • 그렇지 않으면 -1을 반환합니다.

예시

#include<bits/stdc++.h>
using namespace std;
int notes_needed(int Rupees_amount_1, int Rupees_amount_2, int pay_Rupees, int
distribution_total){
   int count = 0;
   int total = pay_Rupees − (Rupees_amount_2 * distribution_total);
   int total_given = Rupees_amount_1 − Rupees_amount_2;
   if (total % total_given == 0){
      count = total / total_given;
      return count;
   } else {
      return −1;
   }
}
int main(){
   int Rupees_amount_1 = 1;
   int Rupees_amount_2 = 5;
   int pay_Rupees = 11;
   int distribution_total = 7;
   cout<<"Count of number of currency notes needed are: "<<notes_needed(Rupees_amount_1, Rupees_amount_2, pay_Rupees, distribution_total);
}

출력

위의 코드를 실행하면 다음과 같은 출력이 생성됩니다 -

Count the number of currency notes needed are− 6