1. 从小数找规律,验证规律。这个题,当n前边的数最后为1的方案可以拆分为两个,即最后两步分两步走还是一步走完,而最后为1的方案数等于n-1的方案数。这样就说明out【n】=out[n-1]+out[n-2]
2.想清楚这些,代码一气呵成。
以下是代码:
#include <stdio.h>
int count[47];
int main()
{
int i,m,num;
scanf("%d", &m );
count[0] = 1;
count[1] = 1;
for ( i = 2; i <= 46; i++ )
{
count[i] = count[i-1] + count[i-2];
}
while( m-- )
{
scanf( "%d", &num );
printf( "%d\n", count[num] );
}
return 0;
}