亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

100的階乘后面有幾位0?

100的階乘后面有幾位0?

天涯盡頭無女友 2018-11-09 14:11:52
5! = 120, 末尾有一個0.6! = 720, 末尾有一個0.10! =3628800, 末尾有兩個0.//階乘函數function factorial(n) { let result = 1;   while( n > 1) {   result = result * n;   n--; } return result;}var result = factorial(100);console.log(result); //9.332621544394418e+157//計算階乘結果后面有幾個0var index = 0;if(result % 10 == 0) {    while(result % 10 == 0) {          result = result / 10;        index++;    }} else {   console.log('No zero in the end!');}console.log(index);這個代碼哪里不對? 100的階乘末尾的零是有24位的。這個程序算不出來正確結果。如果是因為數字太大計算不出來的話,原理是什么?
查看完整描述

1 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

超過整型上限的不能存成整數,會存成浮點數

可以計算每個數里面有幾個5的因子數,加起來看是多少,因為2的因子書肯定比5多

var num = 0;

for(let i = 1; i <= 100; i++) {

    let count = 0;

    let j = i;

    while ( j > 0 && j % 5 == 0 ) {

        j = j / 5;

        count ++;

    }

    num += count;

}

console.log(num);

如果一定要計算階乘的話,請自己寫大數乘法,比方說用字符串存儲數字

查看完整回答
反對 回復 2018-12-03
  • 1 回答
  • 0 關注
  • 830 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號