【深搜】数的计算
题目:数的计算 rqnoj153
题目描述
我们要求找出具有下列性质数的个数(包含输入的自然数n):
先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:
1.不作任何处理;
2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3.加上数后,继续按此规则进行处理,直到不能再加自然数为止.
样例: 输入: 6
满足条件的数为6 (此部分不必输出)
16
26
126
36
136
输出: 6
输入格式
一个自然数:n
输出格式
具有以上性质的数的个数:s
样例输入
样例输出
题目不难,也很好理解,直接深搜,每次减半继续深搜
Pascal Code
program rqnoj153; var n,sum:longint; procedure init; begin assign(input,'rqnoj153.in'); assign(output,'rqnoj153.out'); reset(input); rewrite(output); end; procedure outit; begin close(input); close(output); halt; end; procedure readdata; begin read(n); end; procedure work(x:longint); var i:longint; begin if x=1 then exit; x:=x div 2; for i:=1 to x do begin inc(sum); work(i); end; end; procedure main; var i:longint; begin sum:=1; work(n); writeln(sum); end; begin init; readdata; main; outit; end.
..... 转载请注明出处 ..... http://oijzh.cnblogs.com ..... by jiangzh