題目:1*2*3*……*100 求結果末尾有多少個零
分析:一般類似的題目都會蘊含某種規律或簡便方法的,
階乘末尾乙個零表示乙個進製,則相當於乘以10
而10 是由2*5所得,在1~100當中,可以產生10的有:0 2 4 5 6 8 結尾的數字,
顯然2是足夠的,因為4、6、8當中都含有因子2,所以都可看當是2,那麼關鍵在於5的數量了
那麼該問題的實質是要求出1~100含有多少個5
由特殊推廣到一般的論證過程可得:
1、 每隔5個,會產生乙個0,比如 5, 10 ,15,20.。。
2 、每隔 5×5 個會多產生出乙個0,比如 25,50,75,100
3 、每隔 5×5×5 會多出乙個0,比如125.
所以100!末尾有多少個零為:
100/5+100/25=20+4=24
那麼1000!末尾有多少個零呢?同理得:
1000/5+1000/25+1000/125=200+40+8+1=249
到此,問題解決了,但我們在學習過程中應當學會發散思維、舉一反三
接著,請問n!的末尾有多少個零呢??
其實 也是同理的
n/5+n/25+……
如計算 2009! 的末尾有多少個0:
2009/5 = 401
1~2009之間有 401 個數是 5 的倍數(餘數省略).
401/5 = 80
1~2009 之間有 80 個數是 25 的倍數.
80/5 = 16
1~2009 之間有 16 個數是 125 的倍數.
16/5 = 3
1~2009 之間有 3個數是 625 的倍數.
3/5 = 0
1~2009 之間有 0 個數是 3125 的倍數.
所以, 2009! 的末尾有 401 + 80 + 16 + 3 = 500 個0.
看下面**:
int fun1(int n)
return num;
}
int fun2(int n)
} return num;
}
此題擴充套件:求擴充套件n!的二進位制表示中最低位1中的位置。相當於求質因數的2的個數。
10000的階乘,末尾有多少個連續的零?答案:
10000/5+10000/25+10000/125+10000/625+10000/3125=2000+400+80+16+3=2499
1到100的階乘的和的末位數是幾?答案:3這題找規律,
1!=1; 2!=2; 3!=6; 4!=24; 5!=120;…你可以發現5的階乘之後的末尾都是0。所以只有1到4的階乘會產生個位數,所以1+2+6+24=33,所以答案就是3!
N 末尾有多少個零
題目一 210 最後結果有幾個零。請自己思索10分鐘以上再看解釋 凡是這種題目必有規律可言,關鍵是你找到這個規律的恆心。可採用笨拙的方法思考。1 1 無0 2!2 1!2 無0 3!3 2!6 無0 4!4 3!24 5!5 4 120 有了乙個零 思考這個0是怎麼出現的 5與乙個偶數相乘得到的結果...
N 末尾有多少個零
題目一 210 最後結果有幾個零。請自己思索10分鐘以上再看解釋 凡是這種題目必有規律可言,關鍵是你找到這個規律的恆心。可採用笨拙的方法思考。1 1 無0 2!2 1!2 無0 3!3 2!6 無0 4!4 3!24 5!5 4 120 有了乙個零 思考這個0是怎麼出現的 5與乙個偶數相乘得到的結果...
n 階乘末尾有多少個零0
題目 初階 1 2 3 100 求結果末尾有多少個零。高階 n的階乘末尾有多少個0 分析 一般類似的題目都會蘊含某種規律或簡便方法的階乘末尾乙個零表示乙個進製,則相當於乘以10而10 是由2 5所得,在1 100當中,可以產生10的有 0 2 4 5 6 8 結尾的數字,顯然2是確定的,因為4 6 ...