HDU 1284 钱币兑换问题

钱币兑换问题

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 4006    Accepted Submission(s): 2274


Problem Description
在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。
 

 

Input
每行只有一个正整数N,N小于32768。
 

 

Output
对应每个输入,输出兑换方法数。
 

 

Sample Input
2934
12553
 

 

Sample Output
718831
13137761
 

 

数学题

解题代码:

 1 // File Name: 钱币兑换问题 1284.cpp
 2 // Author: sheng
 3 // Created Time: 2013年07月15日 星期一 09时35分27秒
 4 
 5 #include <stdio.h>
 6 #include <iostream>
 7 using namespace std;
 8 
 9 int main ()
10 {
11     int n;
12     __int64 sum;
13     while (~scanf ("%d", &n))
14     {
15         sum = 0;
16         for (int i = 0 ; 3*i <= n; i ++)
17         {
18             sum += (n - 3*i) /2 + 1;
19         }
20         printf ("%I64d\n", sum);
21     }
22     return 0;
23 }
View Code

 

posted on 2013-07-15 09:50  圣手摘星  阅读(130)  评论(0编辑  收藏  举报

导航