无主之地2改枪射速:noip2001普及组 第一题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/09 12:39:20
我们要找出具有下列性质数的个数(包含输入的自然数n),先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理
(1)不做任何处理
(2)在它的左边加上一个自然数,但该自然数不能超过原数的一半
(3)加上数后,继续按次规则进行处理,直到不能再加自然数为止
既如果输入6则有6,16,26,126,36,136这6个数,因此输出6(输出的是个数).
请大家千万要帮忙啊!请务必在15号前答出.请用Pascal语言,据说是用2个循环,程序不超过十行.
谢谢!
1楼的回答不错,谢谢!
但实在是抱歉,我没学过C++,还有,最好不要用数组.

我用的是标准流,自己写文件的。
program noip2001_1;
var num:array [1..1000] of longint;
n,i,j:longint;
begin
readln(n);
for i:=1 to n do begin
num[i]:=1;
for j:=1 to i div 2 do inc(num[i],num[j]);
end;
writeln(num[n]);
end.

格式吃的真干净……用c++我可以10行以内,这个你压缩一下也可以。

老大,不用数组怎么作?我给你压了一下,这样可以了吧。选我的吧。