初学者8 发表于 2022-11-13 20:21:07

C语言

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子总数为多少?

提示:兔子的规律为数列1,1,2,3,5,8,13,21....

输入: n

输出:第n个月的兔子总数



输入样例:4

输出样例:3



相关知识
用for循环来遍历所有可能的选项

tommyyu 发表于 2022-11-13 20:34:03

#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    if(n == 1 || n == 2) {
            printf("1");
            return 0;
        }
        int a1 = 1, a2 = 1, a3 = 2, i = 3;
        while(i < n) {
                a1 = a2;
                a2 = a3;
                a3 = a1 + a2;
                i++;
        }
        printf("%d", a3);
    return 0;
}

jackz007 发表于 2022-11-13 20:42:42

本帖最后由 jackz007 于 2022-11-13 20:45 编辑

#include <stdio.h>

int main(void)
{
      int d , i , m                                                    ;
      scanf("%d" , & m)                                                      ;
      for(i = 2 , d = d = 1 ; i < m ; i ++) d = d + d ;
      printf("%d\n" , d)                                              ;
}
      编译运行实况:
D:\\C>g++ -o x x.c

D:\\C>x
4
3

D:\\C>
页: [1]
查看完整版本: C语言