小p的故事——神奇的換零錢
time limit: 1000ms memory limit: 65536kb
problem description
已知a國經濟很落後,他們只有1、2、3元三種面值的硬幣,有一天小p要去a國旅行,想換一些零錢,小p很想知道將錢n兌換成硬幣有很多種兌法,但是可惜的是他的數學竟然是體育老師教的,所以他不會啊、、、他只好求助於你,你可以幫他解決嗎?
100
1500
example output
884
188251
我的理解:這道題是比賽題,在比賽的過程中一直覺得這是遞推的題,就一直找規律,在經過隊友的暴力之後終於找到了規律,但是比完賽一想其實可以用揹包來解決。
遞推**:
#include int main()
printf("%lld\n",a[n]);
}return0;
}
揹包**:
#include
#include
int a[400];
long
long
int dp[40000];
int main()
return
0;}
換零錢的演算法
問題來自sicp,描述如下 現在若干紙幣,想要兌換成硬幣。硬幣面值有1,5,10,25,50分的硬幣。什麼,沒有25分的,我說的是美元。問有多少種組合方式 這是介紹線性遞迴這個概念的時候的乙個例子,很有意思。演算法嘛,很樸素啊,其主要思想如下 scheme的 就不貼上來了,太簡單太抽象。我們還是用c...
換零錢的clojure實現
題目 有半美元 四分之一美元 10美分 5美分和1美分的硬幣,將1美元換成零錢,一共有多少種不同方式?思路 首先我們把1美元變成100美分,半美元變成50美分,四分之一美元變成25美分。然後從硬幣的最大面額 50美分開始 100餘額的所有換法 採用50美分的所有換法 不採用50美分的所有換法 那麼,...
SICP 換零錢方法的統計
問題 現有半美元 四分之一美元 10美分 5美分和1美分共5種硬幣。若將1美元換成零錢,共有多少種不同方式?思路 採用遞迴過程,假定我們所考慮的可用硬幣型別種類排了某種順序,於是就有下面的關係 將總數為a的現金換成n中硬幣的不同方式的數目等於 注意這裡將換零錢分成兩組時所採用的方式,第一組裡面都沒有...