首页 > 代码库 > 青蛙跳台阶(C、Python)

青蛙跳台阶(C、Python)

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     else24     {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     do41     {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 请输入台阶数(正整数):157 1个台阶有1种跳法。58 你想继续吗(Y/y):Y59 请输入台阶数(正整数):260 2个台阶有2种跳法。61 你想继续吗(Y/y):Y62 请输入台阶数(正整数):363 3个台阶有3种跳法。64 你想继续吗(Y/y):Y65 请输入台阶数(正整数):466 4个台阶有5种跳法。67 你想继续吗(Y/y):Y68 请输入台阶数(正整数):569 5个台阶有8种跳法。70 你想继续吗(Y/y):N71 Press any key to continue72 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)