点我顶贴
收藏
删除
AC程序如下....
var
s,n,m,a,k:int64;
begin
readln(n);
k:=2*n+1;
a:=2;
s:=1;
while a<>1 do
begin
a:=a*2;
s:=s+1;
if a>k then
a:=a-k;
end;
write(s);
end.
2012
回复
删除
是不是
trunc(log (2n+1)-1 ?
2
2139
回复
删除
同意
我写的跟LZ差不多
var i,j,m,n:longint;
procedure try;
var j:longint;
begin
i:=2*I;
IF I > 2*N THEN
BEGIN
I:=I DIV 2;
I:=I - (2*N-I+1);
END;
end;
begin
readln(n);
M:=0;
I:=1;
repeat
try;
inc(m);
until I=1;
writeln(m);
end.
查看更多回复
拥有 RQNOJ 账号,您可以:
- 查看海量题库,并提交您的代码
- 参加比赛,证明实力
- 与大家讨论,解答疑问,分享心得
提交回复