说明:
1. 最基本的一个函数
2. 如果写成函数形式,不会通过
3. 写成for循环时,用__int64
4. 还有一个公式方法
/* * ===================================================================================== * * Filename: hdu2070.c * * Version: 1.0 * Created: 2013年11月19日 16时46分39秒 * Revision: none * Compiler: gcc * Author: Wenxian Ni (Hello World~), niwenxianq@qq.com * Organization: AMS/ICT * * Fibbonacci Number Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11472 Accepted Submission(s): 5820 Problem Description Your objective for this question is to develop a program which will generate a fibbonacci number. The fibbonacci function is defined as such: f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) Your program should be able to handle values of n in the range 0 to 50. Input Each test case consists of one integer n in a single line where 0≤n≤50. The input is terminated by -1. Output Print out the answer in a single line for each test case. Sample Input 3 4 5 -1 Sample Output 2 3 5 Hint Note: you can use 64bit integer: __int64 Description: * * * ===================================================================================== */ #include <stdio.h> int main() { int i, n; int fn, fn1; while(~scanf("%d",&n)&&n!=-1) { if(n==0) { printf("0 "); continue; } if(n==1) { printf("1 "); continue; } fn = 1; fn1 = 0; for(i=2;i<=n;i++) { fn = fn + fn1; fn1 = fn - fn1; } printf("%d ",fn); } return 0; }