Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ นับจำนวนเหรียญขั้นต่ำที่ต้องได้รับผลรวม k


สมมติว่าเรามีตัวเลขสองตัว n และ k เรามีเหรียญมูลค่า 1 ถึง n ไม่จำกัดจำนวน เราต้องการหาค่าบางค่าที่มีผลรวมเป็น k เราสามารถเลือกเหรียญที่มีมูลค่าเท่ากันได้หลายเหรียญเพื่อให้ได้ผลรวม k เราต้องนับจำนวนเหรียญขั้นต่ำที่จำเป็นเพื่อให้ได้ผลรวม k

ดังนั้นหากอินพุตเป็นเช่น n =6; k =16 ดังนั้นผลลัพธ์จะเป็น 3 เพราะ (2 * 6) + 4

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

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