1樓:
program y1_1;
const
z=10000;
vara:array[0..z+1]of integer;
n,j,i,k:longint;
begin
readln(n);
begin
a[1]:=1;
for i:=1 to n do
begin
for j:=1 to z do
a[j]:=a[j]*i;
for k:=1 to z do
begin
a[k+1]:=a[k+1]+a[k]div 10;
a[k]:=a[k]mod 10;
end;
end;
i:=z;k:=0;
repeat
if a[i]<>0 then k:=1;
i:=i-1;
until k=1;
k:=0;
for j:=i+1 downto 1 dowrite(a[j]);
end;
writeln;
end.
2樓:匿名使用者
這是高精度乘高精度:
const n=12800;
type t=array[1..n]of 0..9;
var a,b,c,d,e:t;
l1,l2,i,j,k,s,p:longint;
s1,s2:string;
f:text;
time,t1,t2:real;
procedure cheng(var a,b:t;l1,l2:longint);
var z:longint;
begin
for j:=1 to l2 do
begin
k:=0;
for i:=1 to l1 do
begin
z:=(a[i]*b[j]+k)mod 10;
k:=(a[i]*b[j]+k)div 10;
c[i+j-1]:=c[i+j-1]+z;
if c[i+j-1]>=10 then begink:=k+c[i+j-1] div 10;
c[i+j-1]:=c[i+j-1]mod 10;
end;
end;
c[l1+j]:=c[l1+j]+k;
end;
end;
下面是單精度乘以高精度:
var m:string;
n,i,k,j,b,c,d:integer;
a:array[1..500]of integer;
begin
readln(m);
readln(n);
for i:=length(m) downto 1 dobegin
b:=ord(m[i])-48;
a[i]:=(b*n+j) mod 10;
j:=(n*b+j) div 10;
c:=c+1;
end;
if j>0 then write(j);
for i:=1 to c do write(a[i]);
end.
我把主要的精度計算給你了,其他的麼自己編了~~改改就好了
3樓:匿名使用者
var n,w,i:longint;
a:packed array[1..100000]of longint;
procedure jc(k:longint);
var x,i:longint;
begin
x:=0;
for i:=1 to w do
begin
a[i]:=a[i]*k+x;
x:=a[i] div 10;
a[i]:=a[i] mod 10;
end;
while x>0 do
begin
w:=w+1;
a[w]:=x mod 10;
x:=x div 10;
end;
end;
begin
read(n);
a[1]:=1;
w:=1;
for i:=1 to n do jc(i);
for i:=w downto 1 do write(a[i]);
end.
如果用高精度的話,10^18的資料規模肯定會超時,需要優化。
4樓:
ice_chain的難以在1s內出解
可以將1..n分解質因數,求出各質因數的個數,然後用二分快速冪
n的範圍較大,要用int64
求助一道數學題,求助一道中考數學題!!
過點a做直線pq bc。延長be,交pq於點q 佯長cf,交pq於點p。有 pq bc,ae ac ce,af ab bf bce aqe相似 ae ce aq bc 1 bcf apf相似 af bf ap bc 2 1 2 得 ac ce ce ab bf bf ap aq bc 1 1 ce ...
一道程式填空題,一道c語言填空題,程式沒看懂求詳細解釋!
include define n 13 struct a n int ok 0 已完成完整計算的輪次數 int ball int i,int n,int max 完成一次滾球,輸入正確擊倒柱數 if ok i 1 printf 各輪第一次得分 for k 1 k 1 k printf 5d a k ...
求助一道高一物理題,求助一道高中物理題
路程s 72 20 60 24 勻變速運動路程s1 勻速運動路程s2 v 20 4 60 4 15 vs s1 s2 即24 1 30 v 4 15 v 得v 80km h 根據平均速度的定義式v s t 得到s vt 72 設勻速時的速度度為v。因為面積就是位移所以 s 1200 240 1200...