Đư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