高精 階乘和

2021-08-03 07:47:39 字數 1649 閱讀 9780

咳咳,這是一道高精的題,好久以前十分弱智的題(弱智嗎???),只是看起來好難,於是一直放棄。。。

可是今天看見了,發現1.6(openjudge)裡面竟然就這乙個沒打鉤,於是只好硬著頭皮做了。。

先貼上題目:

15:階乘和

總時間限制: 1000ms 記憶體限制: 65536kb

描述:

用高精度計算出s=1!+2!+3!+…+n!(n≤50)

其中「!」表示階乘,例如:5!=5*4*3*2*1。

輸入正整數n,輸出計算結果s。

輸入乙個正整數n。輸出計算結果s。

樣例輸入

樣例輸出

於是我先瀟灑地打完框架,然後先算算50的階乘有多少位,一算,哇!才六十多位,我就定義了一百個陣列(其實是105個==),然後為了節省空間時間,把每乙個存進四位,也就是/10000。

then,我照著上面這道題(求階乘)的思路,打出了階乘這部分框架,然後用高精加把他們加起來,就是這倆貨:

int

a[105]

/*階乘和*/,k

[105]

/*階乘*/;

為了進一步節省我就用這個階乘:

for(int i=2;i

<=n;i++)

for(int j=100;j>=aa;j--)

加起來。。。。。。

是不是很快!

然後我高高興興打完**,才試驗幾個數就交了,發現是wrong answer!!

#include

int a[105]/*階乘和*/,k[105]/*階乘*/,kk=100

/*k當前位置*/,aa=100

/*a當前位置*/;

void wzk()//計算k位置

void wza()//計算a位置

void cc()//把階乘累加

wza();

}int main()

wzk();

cc();

}for(int i=100;i>=aa;i--)

printf("%3d",a[i]);

return

0;}

這是半個小時打出來的。。。。

後來發現好多錯誤:

1.最後的輸出,當輸出不足三位時會用空格補位。

2.中間的乘法,不能邊乘邊進製,不然會發現進製的數也跟著乘了的尷尬。。。

這些我改了好幾遍才改出來,,,,最後交上去對了,已經用了乙個多小時了。。。。。。。

#include

int a[105]/*階乘和*/,k[105]/*階乘*/,kk=100

/*k當前位置*/,aa=100

/*a當前位置*/;

void wzk()//計算k位置

void wza()//計算a位置

void cc()//把階乘累加

wza();

}int main()

wzk();

cc();

}for(int i=aa;i<=100;i++)

printf("%d",a[i]);

return

0;}

不用謝!!!

用高精實現n的階乘之和

include include include include include include include include using namespace std int a 10000 b 10000 n,s,up,ment,jishu,up1,ment1 intmain 高精階乘 for i...

c 高精除以高精

include using namespace std int a 1000 b 1000 int len1,len2,len int index int re 1000 p 0 記錄結果 intjudge return0 int main for i 0 isize i len1 n.size l...

平方和階乘(乙個繁瑣的高精 C )

平方和階乘 題目限制 時間限制 1000ms 記憶體限制 1000kib 題目描述 description 小明是乙個數學渣渣,但是老師總是讓他做一些很奇怪的題目。這次小明又遇到麻煩了,老師告訴他乙個數a,讓他求出這個數平方的階乘a1和這個數階乘的平方a2,還要a1a2的和,和a1a2的非負數差 在...