首页 > 代码库 > 青蛙跳台阶(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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。