鱼C论坛

 找回密码
 立即注册
查看: 1401|回复: 2

[已解决]填空题1

[复制链接]
发表于 2021-10-15 15:21:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
【问题描述】

有n级台阶,可以一步上一个台阶,也可以一步上两个台阶,编写程序,计算共有多少种不同的走法。



【输入形式】

一个非零整数。



【输出形式】

一个整数。



【样例输入】

5



【样例输出】

8



【样例说明】

有以下8中走法:

1,1,1,1,1

1,1,1,2

1,1,2,1

1,2,1,1

2,1,1,1,

1,2,2

2,1,2

2,2,1

#include  <stdio.h>

int  step(int  n)
{
        if(n<0)
            return  0;
        if((n==0)||(n==1)||(n==2))
            
        else
            return  
        
}  

int  main()
{
        int  n;
        scanf("%d",&n)  ;
        printf("%d",step(n));
        return  0;
}
最佳答案
2021-10-15 15:33:02
  1. #include  <stdio.h>

  2. int  step(int  n)
  3. {
  4.         if(n<0)
  5.             return  0;
  6.         if((n==0)||(n==1)||(n==2))
  7.             return n;
  8.         else
  9.             return  step(n-1)+step(n-2);
  10.         
  11. }  

  12. int  main()
  13. {
  14.         int  n;
  15.         scanf("%d",&n)  ;
  16.         printf("%d",step(n));
  17.         return  0;
  18. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-15 15:33:02 | 显示全部楼层    本楼为最佳答案   
  1. #include  <stdio.h>

  2. int  step(int  n)
  3. {
  4.         if(n<0)
  5.             return  0;
  6.         if((n==0)||(n==1)||(n==2))
  7.             return n;
  8.         else
  9.             return  step(n-1)+step(n-2);
  10.         
  11. }  

  12. int  main()
  13. {
  14.         int  n;
  15.         scanf("%d",&n)  ;
  16.         printf("%d",step(n));
  17.         return  0;
  18. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-15 15:44:28 | 显示全部楼层
C 代码:
  1. #include <stdio.h>

  2. int solution(int n){
  3.    
  4.     int a = 1, b = 1;
  5.    
  6.     for(int i = 0; i < n; i++){
  7.         int temp = a;
  8.         a = b;
  9.         b += temp;}
  10.         
  11.     return a;
  12. }

  13. int main(){
  14.     int n;
  15.     scanf("%d", &n);
  16.     printf("%d", solution(n));
  17.     return 0;
  18. }
复制代码

Python 代码:
  1. def solution(n: int) -> int:
  2.     a, b = 1, 1
  3.     for _ in range(n):
  4.         a, b = b, a + b
  5.     return a

  6. n = int(input())
  7. print(solution(n))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-26 02:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表