首页 > 编程语言 > 详细

青蛙跳台阶(C、Python)

时间:2017-06-26 23:22:20      阅读:410      评论:0      收藏:0      [点我收藏+]

C语言:

 1 /*
 2 -----------------------------------
 3 当n = 1, 只有1中跳法;当n = 2时,有两种跳法;当n = 3 时,有3种跳法;当n = 4时,有5种跳法;当n = 5时,有8种跳法
 4 所以:tiaofa(n)
 5         n=1时,tiaofa(1) = 1
 6         n=2时,tiaofa(2) = 2
 7         n>2时,tiaofa(n) = tiaofa(n-1) + tiaofa(n-2)
 8 -----------------------------------
 9 */
10 
11 # include <stdio.h>
12 
13 int tiaofa(int n)
14 {
15     int i, tf1, tf2, tf3;
16     tf1 = 1;
17     tf2 = 2;
18     
19     if (n == 1)
20         tf3 = 1;
21     else if (n ==2)
22         tf3 = 2;
23     else
24     {
25         for (i=3; i<=n; i++)
26         {
27             tf3 = tf1 + tf2;
28             tf1 = tf2;
29             tf2 = tf3;
30         }
31     }
32     
33     return tf3;
34 }
35 
36 int main(void)
37 {
38     int n;
39     char ch;
40     do
41     {
42         printf("请输入台阶数(正整数):");
43         scanf("%d", &n);
44         printf("%d个台阶有%d种跳法。\n", n, tiaofa(n));
45         printf("\n你想继续吗(Y/N):");
46         flushall();
47         scanf("%c", &ch);
48     } while (ch==y || ch==Y);
49     return 0; 
50 }
51 
52 /*
53 在Vc++6.0中的输出结果为:
54 -----------------------------------
55 
56 请输入台阶数(正整数):1
57 1个台阶有1种跳法。
58 你想继续吗(Y/y):Y
59 请输入台阶数(正整数):2
60 2个台阶有2种跳法。
61 你想继续吗(Y/y):Y
62 请输入台阶数(正整数):3
63 3个台阶有3种跳法。
64 你想继续吗(Y/y):Y
65 请输入台阶数(正整数):4
66 4个台阶有5种跳法。
67 你想继续吗(Y/y):Y
68 请输入台阶数(正整数):5
69 5个台阶有8种跳法。
70 你想继续吗(Y/y):N
71 Press any key to continue
72 
73 -----------------------------------
74 */

 

Python:

def tf(n):
    if n==1:
        return 1
    elif n==2:
        return 2
    else:
        return tf(n-1)+tf(n-2)

n = int(input(‘请输入台阶数(正整数):‘))
tf_n = tf(n)
print(tf_n)

  

青蛙跳台阶(C、Python)

原文:http://www.cnblogs.com/UncleYong/p/7082784.html

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