p2358.pas
来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· PAS 代码 · 共 37 行
PAS
37 行
PROGRAM p2362;
CONST
maxn=1030000;
VAR
n :Longint;
order :array[0..13]of Longint;
whether :array[0..maxn]of Boolean;
PROCEDURE MakeOrder;
var
i,j :Longint;
begin
order[0]:=1;
for i:=1 to 10 do order[i]:=order[i-1] * i;
fillchar(whether,sizeof(whether),0);
whether[0]:=true;
for i:=0 to 10 do
for j:=maxn-order[i] downto 0 do if whether[j] then whether[j+order[i]]:=true;
end;
PROCEDURE Main;
begin
readln(n);
while (n>=0) do
begin
if (whether[n])and(n<>0) then writeln('YES') else writeln('NO');
readln(n);
end;
end;
BEGIN
MakeOrder;
Main;
END.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?