1. 程式人生 > >硬幣組合問題

硬幣組合問題

問題:假設有5元,10元,25元,1元的紙幣,任意組合,問若組合成1000元能有多少種組法?

思路一:暴力破解法

問題轉化:1000=5*x+10*y+25*z+1*m
轉化後的問題是x,y,z,m取多少值時滿足條件。
x的取值範圍0到1000/5
y的取值範圍0到1000/10
z的取值範圍0到1000/25
m的取值範圍0到1000/1
程式碼如下:

package practice;

public class ZuShu {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int
[] arr ={5,10,25,1}; int aim = 1000; ZuShu z = new ZuShu(); System.out.println("結果為:"+z.baoli(arr,aim)); } public int baoli(int []arr,int aim){ int res=0; int n1=aim/arr[0]; int n2=aim/arr[1]; int n3=aim/arr[2]; int n4=aim/arr[3]; for
(int i=0;i<n1;i++){ for(int j=0;j<n2;j++){ for(int k=0;k<n3;k++){ for(int m=0;m<n4;m++){ if(i*arr[0]+j*arr[1]+k*arr[2]+m*arr[3]==aim){ res+=1; } } } } } return
res; } }

當然這種做法是最蠢的了。

思路二:動態規劃

相關推薦

硬幣組合

硬幣 roc ons 還在 cto img lse imp water 當下,坐公交或者地鐵時大部分人都是刷卡的。不過,時至今日還在用現金支付的人還是比想象的多。本題我們以安置在公交上的零錢兌換機為背景。這個機器可以用紙幣兌換到 10 日元、50 日元、100 日元和 50

leetcode-518 硬幣組合種類數

·狀態轉移方程dp[i]=dp[i-coins[j]] ·和之前leetcode-322 硬幣找零問題不同,這裡是以coins為外層迴圈 int change(int amount, vector<int>& coins) { int *dp=new

YTU OJ 3229: 硬幣組合

題目描述 假設一堆由1分、2分、5分組成的n個硬幣總面值為m分,求一共有多少種可能的組合方式(某種面值的硬幣可以數量可以為0)。 輸入 輸入資料第一行有一個正整數T,表示有T組測試資料;        接下來的T行,每行有兩個數n,m,n和m的含義同上。 輸出

8.7-硬幣組合

Given an infinite number of quarters (25 cents), dimes (10 cents), nickels (5 cents) and pennies (1 cent), write code to calculate the nu

4.2.3 程式設計題《將一筆錢換算成1分、2分和5分的硬幣組合

將一筆錢(大於8分,小於1元,精確到分)換算成1分、2分和5分的硬幣組合。輸入金額,問有幾種換算方法?要求每種硬幣至少有一枚。【輸入形式】從鍵盤輸入一個正整數n。【輸入輸出樣例1】(下劃線部分表示輸入)Input money: 10count=2【樣例說明】輸入提示符後要加一

LeetCode322 硬幣組合

You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you

動態規劃-硬幣組合數目

import java.util.Scanner; /* * 硬幣的型別有1角,2角,5角,給定一個數額n,多少種組合方式 */ //暴力解法 public class CashNum {

動態規劃-最少硬幣組合問題

import java.util.Scanner; /* * 假設有 1 元,3 元,5 元的硬幣若干(無限),現在需要湊出 11 元,問如何組合才能使硬幣的數量最少? */ public cla

硬幣組合問題

問題:假設有5元,10元,25元,1元的紙幣,任意組合,問若組合成1000元能有多少種組法? 思路一:暴力破解法 問題轉化:1000=5*x+10*y+25*z+1*m 轉化後的問題是x,y,

動態規劃-硬幣組合

1.問題描述        對於m個面值為v1,v2,vm的硬幣,組成錢數n,不限制硬幣的數量和位置,求這些硬幣,最多有多少種組合的結果剛好等於n。2.分析     n=x1*v1+x2*v2+....+xm*vm,{x1,x2,....,xm}就是其中的一種組合,定義l[i

硬幣組合問題之最少硬幣個數

問題:如果我們有面值為1元、3元和5元的硬幣若干枚,如何用最少的硬幣湊夠11元? 此題容易讓人在動態規劃和貪心演算法之間徘徊,畢竟對於初學者來說這兩種演算法要熟練掌握還是需要時間和實踐的。 首先可以肯定的回答:貪心演算法是行不通的。如果使用貪心演算法,肯定是每次找最大的然後

騰訊2018安卓實習模擬筆試題——小Q硬幣組合

為什麼每次看到這種題的超簡短解題程式碼都會有一種“哇!”的感覺 題意 小Q非常富有,擁有非常多的硬幣,小Q的擁有的硬幣是有規律的,對於所有的非負整數K,小Q恰好各有兩個數值為2^k的硬幣,所以小Q擁有的硬幣是1,1,2,2,4,4,8,8……,小Q賣東西

[BZOJ4830][Hnoi2017]拋硬幣組合數學 + 擴充套件 Lucas 定理)

Addresss 洛谷 P3726 BZOJ 4830 LOJ #2023 Solution 考慮把第二個(長度為 b

硬幣面值組合問題

問題描述   假設我們有8種不同面值的硬幣{1,2,5,10,20,50,100,200},用這些硬幣組合夠成一個給定的數值n。例如n=200,那麼一種可能的組合方式為 200 = 3 * 1 + 1*2 + 1*5 + 2*20 + 1 * 50 + 1 * 100. 問總過有多少種可能的組合

1分2分5分的硬幣,組成1角,共有多少種組合

設1分個數為x,2分個數為y,5分的硬幣個數為z,則1*x+2*y+5*z=10; 5*z=10-x-2*y;即: z x對應可能的取值 z=0   10 8 6 4 2 0(6個)z=1   5 3 1(3個)z=2   0(1個)總共個數為6+3+1=10.因

硬幣面值組合(上臺階)

給定一個數值sum,假設我們有m種不同型別的硬幣{V1, V2, ..., Vm},如果要組合成sum,那麼我們有 sum = x1 * V1 + x2 * V2 + ... + xm * Vm  求所有可能的組合數,就是求滿足前面等值的係數{x1, x2, ..., xm}的所有可能個數。 dp[

創新工場筆試題----有1分,2分,5分,10分四種硬幣,每種硬幣數量無限,給定n分錢,求有多少種組合可以組合成n分錢?

【題目】有1分,2分,5分,10分四種硬幣,每種硬幣數量無限,給定n分錢,求有多少種組合可以組合成n分錢? 程式碼如下 void Combination(int *a,int index,int n,vector<int>& vec) { if (n=

【動態規劃】硬幣面值組合(上臺階)

問題 1分2分5分的硬幣三種,組合成1角,共有多少種組合? 有1分,2分,5分,10分四種硬幣,每種硬幣數量無限,給定n分錢,有多少中組合可以組成n分錢? 一個人上臺階可以一次上1個,2個,或者3個,問這個人上n層的臺階,總共有幾種走法? 問法不一樣,但是

華為面試題:1分2分5分的硬幣,組成1角,共有多少種組合。 Java原始碼

public class Jiaofen {  public static void main(String args[])  {      int i,j,k;      int n=0;      for(i=0;i<3;i++)  //五分的硬幣最多2個      {          for(j

00002 用一元錢兌換一分兩分五分的硬幣,一分兩分五分每種至少一枚,共有多少種組合方式,程式設計實現

/** * * 長城資訊筆試2011.11.24 * 題目:用一元錢兌換一分兩分五分的硬幣,一分兩分五分每種至少一枚,共有多少種組合方式,程式設計實現 * @author zs * */ public class Test { public stati