比赛 |
noip-081029 |
评测结果 |
EEEEEEEEEE |
题目名称 |
最多因子数 |
最终得分 |
0 |
用户昵称 |
苏轼 |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-10-29 21:18:03 |
显示代码纯文本
program fjz;
var i,j,a,b,ss,ans,u,p,max,maxn:longint;
s:array[0..1000,1..2]of longint;
f:text;
begin
assign(f,'divsors.in');
reset(f);
readln(f,u,p);
close(f);
max:=0;
for i:=u to p do
begin
b:=1;
ss:=0;
a:=i;
ans:=1;
s[0,1]:=0;
while b<=sqrt(i) do
begin
b:=b+1;
if a mod b=0 then
begin
if b<>s[ss,1] then
begin
if ss<>0 then
ans:=ans*(s[ss,2]+1);
inc(ss);
s[ss,1]:=b;
s[ss,2]:=1;
end else
inc(s[ss,2]);
a:=a div b;
b:=1;
end;
end;
ans:=ans*(s[ss,2]+1);
if ans>max then
begin
max:=ans;
maxn:=i;
end;
end;
assign(f,'divsors.out');
rewrite(f);
writeln(f,'Between ',u,' and ',p,',',maxn,' has a maximum of ',max,' divisors.');
close(f);
end.