说明:
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\n");
continue;
}
if(n==1)
{
printf("1\n");
continue;
}
fn = 1;
fn1 = 0;
for(i=2;i<=n;i++)
{
fn = fn + fn1;
fn1 = fn - fn1;
}
printf("%d\n",fn);
}
return 0;
}