p1910.pas

来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· PAS 代码 · 共 36 行

PAS
36
字号
PROGRAM p1910;

VAR
        n       :integer;
        part,p  :integer;
        ans     :longint;
        puss    :array[1..3]of integer;

PROCEDURE search(dep,from,leave:integer);
var
        i       :integer;
begin
if dep=3 then
        begin
        if leave*puss[1]+puss[2]*leave+puss[1]*puss[2]<ans then
                ans:=leave*puss[1]+leave*puss[2]+puss[1]*puss[2];
        exit;
        end;
for i:=from to trunc(sqrt(leave)) do
        if leave mod i=0 then
                begin
                puss[dep]:=i;
                search(dep+1,i,leave div i);
                end;
end;

BEGIN
readln(part);
for P:=1 to part do
        begin
        readln(n);
        ans:=maxlongint;
        search(1,1,n);
        writeln(2*ans);
        end;
END.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?