这题的题目是什么意思? 顺便给个c++程序
【问题描述】要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边...
【问题描述】
要求找出具有下列性质的数的个数(包含输入的自然数n):
先输入一个自然数n (n≤1000),然后对此自然数按照如下方法进行处理:
1. 不作任何处理;
2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止。
【输入样例】
6
【输出样例】
6
【输出样例说明】
满足条件的数为(此部分不必输出):
6
16
26
126
36
136
这题的题目是什么意思?
顺便给个c++程序,谢谢! 展开
要求找出具有下列性质的数的个数(包含输入的自然数n):
先输入一个自然数n (n≤1000),然后对此自然数按照如下方法进行处理:
1. 不作任何处理;
2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止。
【输入样例】
6
【输出样例】
6
【输出样例说明】
满足条件的数为(此部分不必输出):
6
16
26
126
36
136
这题的题目是什么意思?
顺便给个c++程序,谢谢! 展开
3个回答
展开全部
题目的意思就是:
给你一个数,假如是6
在6的左边加上一个数,这个数要小于等于给你的这个数的一半(6/2 = 3)
所以可以在6的左边加上1或者2或者3,就可以得到:16,26,36,
之后继续按照上面的方法在整个数的左边加上小于等于得到的这个数最左边的数字的一半,(就是小于等于1/2,2/2,3/2)
所以又可以得到数:126,136
然后又继续按照刚刚的步骤往下走,但是已经没有小于等于1/2的数了,所以程序就结束了。
这样说能听懂不?
程序的话,一般都是知道思路之后,自己试着先写的。。
给你一个数,假如是6
在6的左边加上一个数,这个数要小于等于给你的这个数的一半(6/2 = 3)
所以可以在6的左边加上1或者2或者3,就可以得到:16,26,36,
之后继续按照上面的方法在整个数的左边加上小于等于得到的这个数最左边的数字的一半,(就是小于等于1/2,2/2,3/2)
所以又可以得到数:126,136
然后又继续按照刚刚的步骤往下走,但是已经没有小于等于1/2的数了,所以程序就结束了。
这样说能听懂不?
程序的话,一般都是知道思路之后,自己试着先写的。。
2014-08-01
展开全部
这个题目的意思就是 比如说6
不大于6的一半的数有1,2,3
所以16 26 36都是可以的
16 没有满足的
26 则有 126 因为1刚好是2的一半
36则有 136 同理
所以总共有6个数
不大于6的一半的数有1,2,3
所以16 26 36都是可以的
16 没有满足的
26 则有 126 因为1刚好是2的一半
36则有 136 同理
所以总共有6个数
追问
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这道题可以用递归解决,n的个数:
int judge(int n)
{
int count=0;
for(int i=int(n/2);i>=1;i--)
count+=judge(i);
return count;
}
注意:以上是伪代码!!请理解意思后自行优化下吧,思路就是这样了
int judge(int n)
{
int count=0;
for(int i=int(n/2);i>=1;i--)
count+=judge(i);
return count;
}
注意:以上是伪代码!!请理解意思后自行优化下吧,思路就是这样了
追问
谢谢啦,没来得及看到就没点你……
追答
罢了。。助人为乐。。采纳率都是浮云。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询