// count_change.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

/*-------------------------------------------------------------
实例:要想得到一个迭代的斐波那契算法需要一点点智慧。
给了半美元、四分之一美元、10美分、5美分、1美分的硬币,将1美元换成零钱,一共有多少中不同的方式?
更一般的问题时,给定了任意数量的现金,我们能写出一个程序,计算出所有换零钱方式的种数吗?
采用递归过程,这一过程有一种很简单的解法。假定我们所考虑的可用硬币类型种类排了某种顺序,于是就有下面的关系:
将总数为a的现金换成n中硬币的不同方式的数目等于
1.将现金数a换成除第一种硬币之外的所有其它硬币的不同方式数目,加上
2.将现金数a-d换成所有种类的硬币的不同方式数目,其中的d是第一种硬币的币值。

---------------------------------------------------------------*/
int first_denomination(int kinds_of_coins)
{
 if (1 == kinds_of_coins)
 {
  return 1;
 }
 else if(2 == kinds_of_coins)
 {
  return 5;
 }
 else if(3 == kinds_of_coins)
 {
  return 10;
 }
 else if(4 == kinds_of_coins)
 {
  return 25;
 }
 else if(5 == kinds_of_coins)
 {
  return 50;
 }
}

int cc(int amount, int kinds_of_coins)
{
 if (0 == amount)
 {
  return 1;
 }
 else if ((amount < 0) || (0 == kinds_of_coins))
 {
  return 0;
 }
 else
 {
  return ( ( cc(amount, kinds_of_coins-1) )+
     ( cc(amount-first_denomination(kinds_of_coins), kinds_of_coins))
     );
 }
}

int _tmain(int argc, _TCHAR* argv[])
{
 int n = cc(100, 5);
 return 0;
}

斐波那契算法举例(iterative Fibonacci algorithm)相关推荐

  1. 2.数据结构与算法:斐波那契算法

    1.介绍斐波那契数列: 描述:斐波那契数列(Fibonacci sequence),指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--在数学上,斐波那契数列以如下被以递推的方法定义 ...

  2. 斐波那契算法详解(logn)

    ** 斐波那契算法详解 ** ** 1.斐波那契数列的一般解法: for循环强行计算 ** #include <stdio.h> int main() { int n ; int fn = ...

  3. 用递归方法计算斐波那契数列(Recursion Fibonacci Sequence Python)

    先科普一下什么叫斐波那契数列,以下内容摘自百度百科: 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因意大利数学家列昂纳多·斐波那契(Leonardoda Fibonacci ...

  4. java 斐波那契编程_Java实现Fibonacci(斐波那契)取余的示例代码

    Java实现Fibonacci(斐波那契)取余的示例代码 发布时间:2020-10-09 06:05:36 来源:脚本之家 阅读:78 作者:南墙 Description Fibonacci数列的递推 ...

  5. 将真分数分解为埃及分数(斐波那契算法步骤)Java

    package com.patience.interview.huawei;import java.util.Scanner;/*** 将真分数分解为埃及分数* @author Green.Gee* ...

  6. project euler之甚至斐波那契数字(Even Fibonacci numbers)

    fib = [1,2]i = 0while fib[-1] < 4000000:fib.append(fib[i]+fib[i+1])i += 1sums = 0for n in fib:if ...

  7. [CS101] 转载:浅议Fibonacci(斐波纳契)数列求解

    原文转载自林健随笔的"浅议Fibonacci(斐波纳契)数列求解" Fibonacci 数列 描述了动物繁殖数量.植物花序变化等自然规律.作为一个经典的数学问题,Fibonacci ...

  8. 《算法导论3rd第十九章》斐波那契堆

    前言 第六章堆排序使用了普通的二叉堆性质.其基本操作性能相当好,但union性能相当差. 对于一些图算法问题,EXTRACT-MIN 和DELETE操作次数远远小于DECREASE-KEY.因此有了斐 ...

  9. python斐波那契前20递归_算法python实现经典递归问题(汉诺塔, 斐波那契数列,阶乘)...

    经典递归 汉诺塔问题 背景故事 传说印度某间寺院有三根柱子,上串64个金盘.寺院里的僧侣依照一个古老的预言,以上述规则移动这些盘子:预言说当这些盘子移动完毕,世界就会灭亡.这个传说叫做梵天寺之塔问题( ...

最新文章

  1. mac os 和 ubuntu 上测试工具check-0.9.10的安装
  2. php中的thumb函数,phpcms v9 thumb(缩略图) 函数说明
  3. Python-100 练习题 04 判断天数
  4. [转]Visual Studio 各版本下载
  5. 有关javaScript面向对象和原型笔记
  6. 每日一程-4. PyQt5-实现显示和业务逻辑分离
  7. vue-router路由的使用
  8. 网站整站下载工具—HTTrack Website Copier
  9. Plain Road
  10. SMARTS决策引擎实战练习
  11. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略
  12. 【Spring系列】- 手写模拟Spring框架
  13. 手机长按android版本,微信长按这个功能,可以触发高级操作,只有安卓手机才有...
  14. 最简单的基于FFmpeg的解码器-纯净版(不包含libavformat)
  15. 软件推荐——二维码生成工具(绿色版)
  16. IAAS云计算产品畅想-云主机的产品定位
  17. 微型计算机显卡坞介绍,自带GTX 1070 全球最小显卡扩展坞亮相
  18. Linux 图形化Git客户端
  19. 【汇正财经】白马蓝筹集体反攻,沪深创均大涨
  20. 深入理解机器学习——k近邻(kNN,k-Nearest Neighbor)算法:基础知识

热门文章

  1. javascript与浏览器学习(一)
  2. 双击进入物料数据的指定视图
  3. linux进程间通信-XSI IPC
  4. bootstrap3中关于布局的两种样式
  5. webform里的验证控件
  6. linux下遇到的小问题与解决方法
  7. [导入]Learning.ASP.NET 2.0.with.AJAX.pdf(14.14 MB)
  8. matlab立方体投影,那些投影到三维的高维立方体,后来都怎么样了?(浅度好文)...
  9. robo3t 连接服务器数据库_车牌识别软件连接各种数据库方法大全
  10. vscode 格式化某一段代码_VSCode格式化代码功能失效的bug解决方法