钱币兑换问题(1284)
来源:互联网 发布:id矢量制图软件 编辑:程序博客网 时间:2024/04/30 15:05
在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。
Input
每行只有一个正整数N,N小于32768。
Output
对应每个输入,输出兑换方法数。
Sample Input
293412553
Sample Output
71883113137761
一:数学
#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> #include <ctype.h> int main() {long long int san,er,yi;long long int sum,count;int N;while(scanf("%d",&N)!=EOF){count=0;for(san=0;san*3<=N;san++) //三块的个数{sum=N-san*3;if(sum%2==0) //二块的个数,剩下的只能是一块的个数count+=sum/2;elsecount+=(sum-1)/2;}count+=(long long int)((double)(N)/3)+1;printf("%I64d\n",count);} return 0; }二:dp#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> #include <ctype.h> int main() { int dp[32769]; int i,j,n; memset(dp,0,sizeof(dp)); dp[0]=1; for(i=1;i<=3;i++) { for(j=i;j<=32768;j++) { dp[j]+=dp[j-i]; } } while(scanf("%d",&n)!=EOF){ printf("%d\n",dp[n]); } return 0; }
0 0
- 钱币兑换问题(1284)
- hdu 1284 钱币兑换问题
- HDOJ 1284 钱币兑换问题
- hdu 1284 钱币兑换问题
- hdu 1284 钱币兑换问题
- HDU 1284 钱币兑换问题
- hdu 1284 钱币兑换问题
- HDU 1284 钱币兑换问题
- HDU 1284 钱币兑换问题
- hdu 1284 钱币兑换问题
- hdu-1284-钱币兑换问题
- hdu 1284 钱币兑换问题
- HDU 1284 钱币兑换问题
- hdu-1284-钱币兑换问题
- hdu 1284 钱币兑换问题
- hdu 1284 钱币兑换问题
- HDU--1284 钱币兑换问题
- HDUJ 1284 钱币兑换问题
- 比较两个txt文件内容的差异,分别在windows与linux环境下
- 错误:apple llvm5.0解决办法
- 软件压力测试是
- Mantle 初步使用 JSON<->OBJECT
- leetcode第七题(easy)——Reverse Integer
- 钱币兑换问题(1284)
- Android--带位置提示的轮播控件
- cocos2dx
- 学习ASP.NET MVC5框架揭秘笔记-ASP.NET MVC是如何运行的(四)
- Android系统Wifi详解
- 优化javascript中图片的显示
- cmake 学习笔记
- poj 1459 Power Network isap
- 处理字符串时如何选择buffer的大小和分配方式 - 看看 redis 是怎么做的