我求100的階乘,但是結果卻是0,怎麼回事啊

時間 2021-09-07 22:16:53

1樓:匿名使用者

100的階乘的結果太大,會超出int的範圍,所以用普通的方法求是不行的,一定要用高精度的乘法,參考程式如下。

#include

#include

int main()

;long carry,temp;

scanf("%d",&n);

digit=1;

a[1]=1;

for(i=2;i<=n;i++)

while(carry!=0)

}i=digit;

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

for(i=digit-1;i>=1;i--)system("pause");

return 0;}

2樓:匿名使用者

越界,100的階乘不能這麼求。

#include "stdio.h"

#include "time.h"

#define arr_len 100000//陣列越界導致程式執行結束後記憶體溢位

//以下是大數階乘,供參考

int main(void)

else}}

i = arr_len - 1;

count = 0;

} end = clock();

printf("%ld\n",end-start);

for(i = 0;i< arr_len; i ++)printf("\n");

return 0;}

求100的階乘中末尾數零的個數

3樓:鍾學秀

要看有多少個零即可以找到多少個2和5配對,但是5的個數少於2的所以最後由5的個數決定,5的倍數有100/5=20;

25的倍數(即提供兩個5的)有100/25=4;

所以100!中可以分解因式出來24個5,所以最後答案為24個0.

4樓:匿名使用者

21個,1~100裡有11個零;尾數為5的有10個,尾數為2的有10個。5*2=10,所以21個

5樓:伊清馨環旻

一個連乘積中有一個5乘以一個2,就會在末尾有一個0。一個自然數的階乘末尾的0的個數,就等於它的所有乘數中含有因子5的個數,這是因為因子2的個數比因子5的個數明顯要多的緣故。例如,20!

、21!、22!、23!

、24!的末尾都是有4個0,但是25!末尾會有6個0。

因為25中含有2個因子5。

#include

intmain()

printf("100!末尾有

%d個0\n",s);

system("pause");

return

0; }

6樓:匿名使用者

24100/5=20

100/25=4

100/125=0...100

20+4=24

php100階乘為什麼網頁執行結果為0?

7樓:陽光上的橋

下面這個語句有錯(系統理解i是一個常量,但是你沒有定義,所以值為0):

$num*=i;

應該修改為:

$num*=$i;

但是100!結果太大,你這個計算出來的結果肯定不可能準確。

求整數n n0 階乘的演算法如下,其時間複雜度

include int main void int i,s 1 printf please input a intdata scanf d i for i 1 i s i printf d n s return 0 這是一個遞迴程,可以看出每遞迴一次n的規模小一,所是結果是線性的。1 階乘指從1乘以...

我用C語言寫程式但是求不出相應的結果程式可以執行但結果不對,請各位高手幫幫忙啊

沒看明白你到底想計算什麼,include include int main void printf s 2f n s return 0 很奇怪你這程式能得到結果,應該是死迴圈才對。 你的 s 沒有初始化,所以在運算時系統隨機賦了一個值,所以運算結果也出錯。 你寫的一時間都看不懂,麻煩以後後面加註釋 ...

我暗戀女孩3年,等到的結果卻是她等了他原來的男朋友3年現在兩人又在一起了

裘詠兒 可以想象的出你很愛她,而她對原來的男友又何嘗不是這樣呢?也許這三年,她過的比你還辛苦!所以你應該祝福她終於得到了她的幸福,因為你愛她!那就讓她成為你美好的回憶吧! 對,你應該勇敢地說出來,自己不敢的話可以請朋友幫忙製造機會,或者用最原始的方法 塞小紙條給她,說出來後你可能會好些,成不成功當然...