做题要学会冷静分析,除了模拟之外,很多题目的答案可以通过分析推导得到基于数学规律的表达式,节省时间开销。
本题中: N=1结果为1, N=2结果为2, N=3结果为3, N=4结果为5, N=5结果为8, N=6结果为13......通过简单分析推导可知规律相似于斐波那契数列
#include<stdio.h>
int main(){
int i=0,n,f1=1,f2=2,fabri=0;
while(~scanf("%d",&n)){
if(n==1){
printf("1\n");
break;
}
if(n==2){
printf("2\n");
break;
}
else
{
for(i=n;i>2;i--){
fabri=f1+f2;
f1=f2;
f2=fabri;
}
printf("%d\n",fabri);
}
}
}