zoukankan      html  css  js  c++  java
  • 猜年龄的问题

     1 #include <stdio.h>
     2 /*
     3 题目:有5个人坐一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数。他说比第3个人大2岁。
     4       问第3个人,他说比第2个人大2岁。问第2个人,他说比第1个人大2岁。最后问第1个人,他说是10岁。请问第5个人多大?
     5 
     6 解题思路:第一:这是一个连续求值的问题。知道第一个人的年龄,推算第5个人的年龄。(由第一个人求出第二个人,由第二个人求出第三个人。以此类推最终求出第五个人)
     7           第二:在连续求值前会有一个结束条件。第一个人的年龄 = 10;
     8           第三:由1,2两点 选择用递归来解决这类问题,逻辑清晰。
     9           第四:每次求值结果 = 上次的值 +2  (找到通项公式)
    10           
    11 */
    12 int FiveAge(int n);
    13 int main(void)
    14 {
    15     int age;
    16 
    17     age = FiveAge(5);
    18 
    19     printf("%d
    ",age);
    20 
    21     return 0;
    22 }
    23 
    24 int FiveAge(int n)
    25 {
    26     if(1 == n)//结束递归的条件
    27         return 10;  
    28     else
    29         return FiveAge(n-1) + 2;//通项公式
    30 }
  • 相关阅读:
    JSON Web Token
    Centos 7下编译安装PHP7.2(与Nginx搭配的安装方式)
    Nginx配置详解
    Centos 7下编译安装Nginx
    PHP常用正则验证
    拼手气红包函数
    获取汉字首字母大写
    根据生日计算年龄
    ffmpeg获取视频封面图片
    对象脑图总结
  • 原文地址:https://www.cnblogs.com/wangchaomahan/p/9537782.html
Copyright © 2011-2022 走看看