p1681.pas
来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· PAS 代码 · 共 58 行
PAS
58 行
PROGRAM p1681;
CONST
Max=151200;
VAR
n,i :Longint;
total_a,total_b :Integer;
line_a,line_b :array[1..100]of Longint;
line :array[0..max]of Boolean;
PROCEDURE MakeLine;
var
i,j,k :Longint;
begin
fillchar(line,sizeof(line),0);
for i:=0 to 100 do
begin
j:=i*i*i;
if J>max then break else line_a[i+1]:=j;
end;
total_a:=i;
line_b[1]:=1;
line_b[2]:=4;
for i:=2 to 200 do
begin
j:=line_b[i] * (i+3) div i;
if j>max then break else line_b[ i+1 ]:=j;
end;
total_b:=i;
for i:=1 to total_a do
begin
for j:=1 to total_b do
begin
k:=line_a[i]+line_b[j] ;
if k<=max then line[k]:=true;
// if k>max then break else line[k]:=true;
end;
line[line_a[i]]:=true;
end;
end;
BEGIN
MakeLine;
readln(n);
while (n<>0) do
begin
for i:=n downto 0 do if line[i] then break;
writeln(i);
readln(n);
end;
END.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?