c语言超级楼梯思路及代码,超级楼梯

本道题就是讲解斐波那契数列

原理:1 1 2 3 5 8 13 21

当前项等于前两项之和

C语言代码

//斐波那契

//序列 1 1 2 3 5 8 13 21 34

#include

int main() {

int i,n,m;

int a[50];

m=1;

scanf("%d",&m);

while(m--) {

scanf("%d",&n);

a[1]=1;

a[2]=1;

for(i=3; i<=n; i++) {

a[i] = a[i-1] + a[i-2];

}

printf("%d\n",a[n]);

}

}

java代码

import java.util.*;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

while (sc.hasNext()) {

int c = sc.nextInt();

for (int j = 1; j <= c; j++) {

int n = sc.nextInt();

int a[] = new int[n];

a[0] = 1;

a[1] = 1;

for (int i = 2; i < a.length; i++) {

a[i] = a[i - 1] + a[i - 2];

}

System.out.println(a[n - 1]);

}

}

}

}

不用数组

这里我是用java写的

import java.util.Scanner;public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

while (sc.hasNext()) {

int num1 = 1;

int num2 = 1;

int num3 = 0;

int m = sc.nextInt();

while (m-- != 0) {

int n = sc.nextInt();

if (n == 1 || n == 2) {

System.out.println(1);

} else {

for (int i = 0; i < n - 2; i++) {

num3 = num1 + num2;

num1 = num2;

num2 = num3;

}

System.out.println(num3);

}

}

}

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值