洛谷新手题 P1028 数的计算题解

时间:2023-03-10 04:09:43
洛谷新手题 P1028 数的计算题解

题目描述

我们要求找出具有下列性质数的个数(包含输入的自然数nn):

先输入一个自然数nn(n \le 1000n≤1000),然后对此自然数按照如下方法进行处理:

  1. 不作任何处理;

  2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;

  3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.

输入格式

1个自然数n(n≤1000)

输出格式

1个整数,表示具有该性质数的个数。

输入输出样例

输入 #1复制
6
输出 #1复制
6

说明/提示

满足条件的数为

6,16,26,126,36,136

#include<stdio.h>
int main(){
int n;//待输入的自然数√
scanf("%d",&n);//输入
static int a[];//静态定义初始化(也可以通过全局定义来操作)
for(int i=;i<=n;i++){
for(int j=;j<=i/;j++){
a[i]+=a[j]; //递推求和 和为当前具有该性质的数字个数
}
a[i]++; //加上它本身√
}
printf("%d\n",a[n]);//输出结果
return ;//可有可无(bushi)
}