OR118. 斐波那契数列
描述
菲波那契数列是指这样的数列:数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数K,要求菲波那契数列中第k个数是多少。
输入描述
输入一行,包含一个正整数k。(0<k<47)输出描述
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小示例1
输入:
19
输出:
4181
C 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2020-07-07
#include<stdio.h> int main() { int k; scanf("%d",&k); int a1=1,a2=1; long int result; if(k<=2) printf("1"); else { for(int i=3;i<=k;i++) { result=a1+a2; a1=a2; a2=result; } printf("%d",result); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 312KB, 提交时间: 2021-09-09
#include <stdio.h> int f(int num) { if(num==1 || num==2) return 1; int x=1,y=1,i; for(i=3;i<=num;i++) { y=x+y; x=y-x; } return y; } int main() { int k; while(scanf("%d",&k)!=EOF) { printf("%d\n",f(k)); } return 0; }