首页 > 其他 > 详细

小P的故事——神奇的换零钱

时间:2015-08-11 18:56:40      阅读:120      评论:0      收藏:0      [点我收藏+]

题目描述

已知A国经济很落后,他们只有1、2、3元三种面值的硬币,有一天小P要去A国旅行,想换一些零钱,小P很想知道将钱N兑换成硬币有很多种兑法,但是可惜的是他的数学竟然是体育老师教的,所以他不会啊、、、他只好求助于你,你可以帮他解决吗?

提示:输入数据大于32000组。

输入

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

输出

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

示例输入

100 
1500

示例输出

884 
188251

///题目中出现的32768的意义是2的15次方,是long(int )型变量的取值范围

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define N 1000001
int dp[N];
int main()
{
  int n,i,j;
  int a[4]={1,2,3};
  for(i=0;i<=32768;i++)
  {
    dp[i]=0;
  }
  dp[0]=1;
  for(i=0;i<=2;i++)
  {
    for(j=0;j<=32768;j++)
    {
      dp[j]=dp[j]+dp[j-a[i]];
    }
  }
  while(~scanf("%d",&n))
  {
    printf("%d\n",dp[n]);
  }
  return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

小P的故事——神奇的换零钱

原文:http://blog.csdn.net/sh_tomorrow/article/details/47421741

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!