📄 1222.pas
字号:
program ex;
const maxdigits=1000;
var a:array[1..maxdigits] of integer;
low,n,t:integer;
procedure multiply(x:integer);
var i:integer;
begin
for i:=maxdigits downto low do
a[i]:=a[i]*x;
for i:=maxdigits downto low do begin
a[i-1]:=a[i-1]+a[i] div 10;
a[i]:=a[i] mod 10;
end;
if a[low-1]<>0 then low:=low-1;
end;
procedure solve(j:integer);
var i:integer;
begin
for i:=1 to j do multiply(3);
end;
begin
fillchar(a,sizeof(a),0);
a[maxdigits]:=1;
low:=maxdigits;
readln(n);
if n=0 then begin
writeln(0);
halt;
end;
if n=1 then begin
writeln(1);
halt;
end;
if n mod 3=0 then begin
solve(n div 3);
t:=1;
end;
if n mod 3=1 then begin
solve(n div 3-1);
t:=4;
end;
if n mod 3=2 then begin
solve(n div 3);
t:=2;
end;
multiply(t);
for t:=low to maxdigits do write(a[t]);
writeln;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -