【题目描述】
我们要求找出具有下列性质数的个数(包括输入的自然数nn)。先输入一个自然数n(n≤1000)n(n≤1000),然后对此自然数按照如下方法进行处理:
不作任何处理;
在它的左边加上一个自然数,但该自然数不能超过原数的一半;
加上数后,继续按此规则进行处理,直到不能再加自然数为止。
【输入】
自然数n(n≤1000)n(n≤1000)。
【输出】
满足条件的数。
【输入样例】
6
【输出样例】
6
【提示】
【样例解释】
满足条件的数为如下所示:
6 16 26 126 36 136
#include<stdio.h> int main() { int n; scanf("%d", &n); int h[1000]; for (int i = 1; i <= n; i++) { h[i] = 1; for (int j = 1; j <= i / 2; j++) { h[i] += h[j]; } } printf("%d", h[n]); return 0; }
一本通 1316:【例4.6】数的计数(Noip2001)
最新推荐文章于 2024-07-10 09:48:22 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)