100经典算法之(一)---Fibonacci Numbers
来源:互联网 发布:max+守望先锋数据 编辑:程序博客网 时间:2024/06/06 03:11
题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
分析:兔子个数为斐波那契数列,1 1 2 3 5 8 13 ………
程序如下:
//数组法#include <stdio.h>#define N 50 //宏定义int main() { int array[N]; //装每月兔子个数的数组 int i,month; //i为循环变量 printf("请输入月份:"); scanf("%d",&month); array[0]=1; array[1]=1; for(i=0;i<month-1;i++) { array[i+2]=array[i+1]+array[i]; } for(i=1;i<month+2;i++) //这个for循环中的“i=1,i<month+2,a[i-1]”格式是为了输出美观 { printf("%-10d ",array[i-1]); if(i%4==0) printf("\n"); }return 0;}//我的理解:宏定义的方式便于改变数组的长度,先挖个坑,以后再补//另一种方法,我觉得和数组的思路相似#include <stdio.h>int main(){ int f1=1,f2=1; int i; //i为循环变量 int month; //求第n(n为奇数)和n+1个月时,令month=(n+1)/2,如求第九和第十个月 month=5 printf("请输入月份:"); scanf("%d",&month); for(i=1;i<=month;i++) { printf("%-10d %-10d",f1,f2); if(i%2==0) printf("\n"); //控制四个一行 f1=f1+f2; //我觉得这儿有点像数组 f2=f2+f1; } return 0;}
阅读全文
0 0
- 100经典算法之(一)---Fibonacci Numbers
- 100经典算法之(一)---Fibonacci Numbers
- 经典算法之Fibonacci数列
- 经典 数学问题 Fibonacci Numbers
- 算法学习之Fibonacci Numbers生成算法分析
- 每日一算法之Fibonacci数
- 经典排序算法之实现(一)
- 经典算法(一)之回文
- JAVA之经典算法一
- 经典算法题之Bitwise AND of Numbers Range
- 算法之数列 Fibonacci
- Fibonacci numbers
- Fibonacci Numbers
- Fibonacci Numbers
- Fibonacci Numbers
- Fibonacci numbers
- Java算法之经典问题篇(一)
- C#编程之经典算法——排序(一)
- 简单电路实验
- 情绪在股市中的作用
- oracle--常用函数1--数值函数
- 注解@(文件上传)
- Bootstrap(二十四)
- 100经典算法之(一)---Fibonacci Numbers
- PXE,DHCP,Apache-Kickstart系统集体化自动安装
- Gradle + Spring Boot + Jersey搭建REST开发环境
- TOJ 5271: 质因数的个数
- 064day(多态实例:几何形体程序)
- MySQL存储过程详解 mysql 存储过程
- linux云服务器iptables防火墙快速配置
- 了解ASP.NET Core 依赖注入,看这篇就够了 于2017年11月6日由jesseliu发布
- ZOJ 1002 firenet ( DFS)