社区讨论

一脸懵逼!二脸懵逼!三脸懵逼!怎么只有50分!

P1015[NOIP 1999 普及组] 回文数参与者 9已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@mi6gxee9
此快照首次捕获于
2025/11/20 04:42
4 个月前
此快照最后确认于
2025/11/20 04:42
4 个月前
查看原帖
CPP
var
  n,i,j,s,len:longint;
  m:string;
  a,b:array[1..1000] of longint;
function fun:boolean;
  var i,j:longint;
begin
  i:=1;j:=len;
  while (a[i]=a[j])and(i<j) do begin
    inc(i);dec(j);
  end;
  if i>j then exit(true)
  else exit(false);
end;
procedure jia;
var
  i:longint;
begin
  for i:=1 to len do b[len-i+1]:=a[i];
  for i:=1 to len do a[i]:=a[i]+b[i];
  for i:=1 to len do begin
    a[i+1]:=a[i+1]+a[i] div n;
    a[i]:=a[i] mod n;
  end;
  if a[len+1]>0 then inc(len);
end;
begin
  readln(n);
  readln(m);
  len:=length(m);
  for i:=1 to len do
    if (m[i]>='0') and (m[i]<='9') then a[len-i+1]:=ord(m[i])-ord('0')
      else a[len-i+1]:=ord(m[i])-ord('A')+10;
  s:=0;
  while not(fun)and(s<30) do begin
    jia;
    inc(s);
  end;
  if s>30 then write('Impossible!')
    else write('STEP=',s);
end.
这不可能!一脸懵逼!二脸懵逼!三脸懵逼!四脸懵逼!五脸懵逼!无限懵逼!!怎么只有50分!

回复

9 条回复,欢迎继续交流。

正在加载回复...