Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm số lượng ghi chú tiền tệ cần thiết trong C ++

Đưa ra một số tiền bằng rupee mà người ta phải trả, chẳng hạn như pay_rupees và số lượng tiền giấy không giới hạn có giá trị là Rupees_amount_1 và Rupees_amount_2. Mục tiêu là thanh toán pay_rupees bằng cách sử dụng chính xác tổng số ghi chú =phân phối_tổng và đếm số ghi chú loại Rupees_amount_1 cần thiết. Nếu không có giải pháp để thanh toán thì hãy trả về −1 dưới dạng câu trả lời.

Ví dụ

Đầu vào

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

Đầu ra

Count of number of currency notes needed are − 6

Giải thích

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

Đầu vào

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

Đầu ra

Count of number of currency notes needed are: 2

Giải thích

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

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau -

Gọi a1 là số nốt có số lượng rupee 1 và N là tổng số nốt. Để thực hiện thanh toán P, chúng ta sẽ có phương trình - a1 * (Rupees_amount_1) + (N − a1) * (Rupees_amount_2) =P P =a1 * (Rupees_amount_1) + (N) * (Rupees_amount_2) - (a1) * (Rupees_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) Nếu a1 là số nguyên thì chỉ chúng ta có một giải pháp khác trả về −1.

  • Lấy tất cả các số làm đầu vào.

  • Hàm note_needed (int Rupees_amount_1, int Rupees_amount_2, intpay_Rupees, int Distribution_total) nhận tất cả các đầu vào và trả về số lượng ghi chú tiền tệ cần thiết.

  • Lấy số lượng ban đầu là 0.

  • Lấy tổng =pay_Rupees - (Rupees_amount_2 * phân phối_total)

  • Đặt total_given =Rupees_amount_1 - Rupees_amount_2

  • Đặt total_given =Rupees_amount_1 - Rupees_amount_2

  • Nếu tổng% total_given ==0 thì trả về được tính là tổng / total_given.

  • Trả về khác −1.

Ví dụ

#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);
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Count of number of currency notes needed are − 6