zoukankan      html  css  js  c++  java
  • 初级系列5.兔子产子问题

    兔子产子问题

    问题描述
    有一对兔子,从出生后的第3个月起每个月都生一对兔子, 小兔子长到第3个月后每个月又生一对兔子, 假设所有的兔子都不死,问30个月内每个月的兔子总数为多少?
    问题分析
    月数 兔子总数
    1 1
    2 1
    3 2
    4 3
    5 5
    6 8
    7 13
    Fibonacci数列

    算法设计

    迭代循环, 即是一个不断用新值取代变量的旧值,然后由变量旧值递推出变量新值
    的过程, 这种迭代与如下因素有关:初值, 迭代公式, 迭代次数

    迭代公式
    fib1 = fib2 =1 (n =1, 2) 初值
    fib(n) = fib(n-1) + fib(n-2) (n >= 3) 迭代公式

    /* !< use c */
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    	long fib1 = 1, fib2 = 1, fib;
    	int i;
    	printf("%12ld%12ld", fib1, fib2);       //输出第一月和第二个月的兔子数
    	for (i = 3; i <= 30; i++)
    	{
    		fib = fib1 + fib2;                  //迭代求出当前月份的兔子数
    		printf("%12d", fib);                //输出当前月份兔子数
    		if (i % 4 == 0)
    			printf("
    ");                   //每行输出4个
    		fib1 = fib2;                        //为下一次迭代作准备, 求出新的fib2
    		fib2 = fib;                         //求出新的fib1
    	}
    	return 0;
    }
    
    
  • 相关阅读:
    python-Python调用wcf接口
    一个数据驱动的ui自动化框架思路
    selenium分布式部署
    UI自动化-Element is not clickable at point-----问题记录
    idea下载git代码
    windows的hosts文件路径
    端口号
    Hadoop压缩
    MongoDB(单节点)环境配置
    快排
  • 原文地址:https://www.cnblogs.com/xzpin/p/11484492.html
Copyright © 2011-2022 走看看