讨论 / 啊啊啊啊啊啊啊啊
叶伦廷 2014-10-20 21:07:19
点我顶贴 收藏 删除
type

arr=array[0..1000]of qword;

var

i:longint;

j,n,t,x,y,k,k1:qword;

ans:arr;

function cheng(a:arr; k:longint):arr;

var i,j:longint;

begin

for i:=1 to a[0] do a[i]:=a[i]*k;

for i:=1 to a[0]-1 do begin a[i+1]:=a[i+1]+a[i] div 10; a[i]:=a[i] mod 10; end;

j:=a[0];

while a[j]>10 do begin a[j+1]:=a[j+1]+a[j] div 10; a[j]:=a[j] mod 10; inc(j);end;

a[0]:=j;

cheng:=a;

end;

function jia(a,b:arr):arr;

var i,j:longint; c:arr;

begin fillchar(c,sizeof(c),0);

j:=a[0]; if j<b[0] then j:=b[0];

for i:=1 to j do c[i]:=a[i]+b[i];

for i:=1 to j do begin c[i+1]:=c[i+1]+c[i] div 10; c[i]:=c[i] mod 10; end;

c[0]:=j; if c[c[0]+1]<>0 then inc(c[0]);

jia:=c;

end;

function cz(a:longint):arr;

var i,j:longint;

begin

j:=6; cz[0]:=1; cz[1]:=1;

for i:=a downto a-2 do

if (j=1)or((i mod 3<>0)and(i mod 2<>0)) then cz:=cheng(cz,i) else

begin

if (i mod 6=0)and(j=6) then begin cz:=cheng(cz,i div 6); j:=1; end else

if (i mod 2=0)and(j mod 2=0) then begin

cz:=cheng(cz,i div 2); j:=j div 2; end else

if (i mod 3=0)and(j mod 3=0) then begin cz:=cheng(cz,i div 3); j:=j div 3; end;

end;

end;

begin

readln(n,k);

t:=n div k;

k1:=n-t*k;

ans:=jia(cheng(cz(t+1),k1),cheng(cz(t),k-k1));

for i:=ans[0] downto 1 do write(ans[i]);

end.

#1 朝夕@2014-10-20 21:39:08
回复 删除
尼亚,我CE了,投诉楼主!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

查看更多回复
提交回复