参考方法:
#include<stdio.h> int main() { int yt=1,et=0,st=0,zt; // 一兔 二兔 三兔 总兔 \(=_=)/ for(int t=0;t<40;t++)//(" \t=tab 一个tab三个空格") { st = et+st; // 0 0 1 1 et = (t == 0) ? 0 : yt; // 0 1 0 1 yt = (t == 0) ? 1 : st; // 1 0 1 1 zt = yt+et+st; // 1 1 2 3...... printf("%d\t月兔子有 %-10d \t 对\n",t+1,zt); } }
尽量使用最少的代码,最小的内存实现。不要使用斐波那契数列递归求解,因为这样会做许多无用功
#include <stdio.h> int main() { int now =1, prev_1= 1,prev_2=0; printf("%i\n", now); for(int i = 1;i<40;i++) { now = prev_1+prev_2; printf("%i\n", now); prev_2 = prev_1; prev_1 = now; } }
递归:斐波那契数列
#include<stdio.h> int fibonaci(int i) { if(i == 0) { return 0; } if(i == 1) { return 1; } return fibonaci(i-1) + fibonaci(i-2); } int main() { int i; printf("month\tnumber\n"); for (i = 1; i < 41; i++) { printf("%d\t%d\n", i,fibonaci(i)); } return 0; }
#include <stdio.h> int main() { int n[41], i; //定义 n[0] = 0; //赋值 n[1] = 1; n[2] = 1; for (i = 3; i < 41; i++) { n[i] = n[i - 1] + n[i - 2]; } printf("month\tnumber\n"); //输出 for (i = 1; i < 41; i++) { printf("%d\t%d\n", i, n[i]); } //system("pause"); }
输出结果为:
#include<stdio.h> int main(void) { printf("◎◎\n"); for(int i=0;i<20;i++) { for(int j=0;j<=i+1;j++) { printf("■"); } printf("\n"); } }
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
1685c-exercise-example11
参考方法:
1684c-exercise-example11
尽量使用最少的代码,最小的内存实现。不要使用斐波那契数列递归求解,因为这样会做许多无用功
1683c-exercise-example11
递归:斐波那契数列
1682c-exercise-example11
使用数组方式:
输出结果为:
1681c-exercise-example10
参考方法: