问题 C: 数的计数(number)
时间限制: 1 Sec 内存限制: 64 MB提交: 46 解决: 27
[提交][状态][讨论版]
题目描述
我们要求找出具有下列性质数的个数(包含输入的自然数n),先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:
(1)不作任何处理;
(2)在它的左边加上一个自然数,但该自然数不能超过原数的一半;
(3)加上数后,继续按此规则进行处理,直到不能再加自然数为止。
输入
一个正整数n。
输出
符合以上性质的数的个数。
样例输入
6
样例输出
6
提示
样例说明:满足条件的数为6,16,26,36,126,136。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 #include <iostream> 2 using namespace std; 3 int s=0; 4 int f(int m) 5 { 6 for(int i=1;i<=m/2;i++) 7 f(i); 8 s++; 9 return s; 10 } 11 int main() 12 { 13 int n; 14 cin>>n; 15 f(n); 16 cout<<s<<endl; 17 return 0; 18 }