P1028 数的计算

P1028 数的计算

题目链接:https://www.luogu.org/problem/P1028

思路:

​ 找规律。

1 :1 (1)

2: 2 (2,12)

3: 2 (3,13)

4: 4 (4,14,24,124) = 2+2

5: 4 (5,15,25,125)

6: 6 (6,16,26,36,126,136)= 4+2

7: 6 (7,17,27,37,127,137)

8: 10 (8,18,28,38,48,128,138,148,248,1248)= 6+4

. . . . . .

可以看出:

1.奇数的答案与前一个偶数的答案相同;

2.偶数等于前一个数加上从2开始的数,即一半的数;

代码:

#include <stdio.h> 
int main()
{
	int n,a[1005],i;
	scanf("%d",&n);
	a[0] = 1;
	for(i=1;i<=n;i++){
		if(i%2!=0){    //判断奇偶数;
			a[i] = a[i-1]+a[i/2]; 
		}else{
			a[i] = a[i-1];
		}
	}
	printf("%d\n",a[n-1]);
	return 0;
} 
posted @ 2019-07-27 18:19  幽灵小一只  阅读(175)  评论(0编辑  收藏  举报