我们要求找出具有下列性质数的个数(包含输入的正整数 n)。先输入一个正整数 n,然后对此正整数按照如下方法进行处理:
1.本身不作任何处理;
2.在它的左边加上一个正整数,但该正整数不能超过原数的一半;
3.加上数后,继续按此规则进行处理,直到不能再加正整数为止。
例如输入n=6,
满足条件的数为:
6,16,26,126,36,136
输入格式:
1个正整数 n(n≤1000)。
输出格式:
1个整数,表示具有该性质数的个数。
输入样例:
在这里给出一组输入。例如:
6
输出样例:
在这里给出相应的输出。例如:
6
参考代码
#include <stdio.h>
// 动态规划数组,用于存储中间结果
int dp[1001];
// 函数声明,用于计算满足条件的数的个数
int countQualifiedNumbers(int n);
int main() {
int n;
scanf("%d", &n); // 输入正整数n
// 初始化动态规划数组
for (int i = 0; i <= n; i++) {
dp[i] = -1;
}
printf("%d\n", countQualifiedNumbers(n)); // 输出满足条件的数的个数
return 0;
}
// 递归函数,用
标签:满足条件,正整数,int,158,个数,样例,计算,输入
From: https://blog.csdn.net/2402_82561397/article/details/138867448