寒假筆記 充滿陷阱的模擬

2021-09-11 10:47:37 字數 923 閱讀 9774

原題位址

題目描述

也許你早就知道階乘的含義,n階乘是由1到n相乘而產生,如:

12!=1×2×3×4×5×6×7×8×9×10×11×12=479,001,600

12的階乘最右邊的非零位為66。

寫乙個程式,計算n(1≤n≤50,000,000)階乘的最右邊的非零位的值。

注意:10,000,000!有2499999個零。

輸入輸出格式

輸入格式:

僅一行包含乙個正整數n。

輸出格式:

乙個整數,表示最右邊的非零位的值。

輸入輸出樣例

輸入樣例#1:

12輸出樣例#1:

6**:

這是29的**:

#include

using namespace std;

intmain()

cout<}

好像沒啥毛病啊?為啥29? 請看:

14!=87178291200。到這裡我們的程式依然正確。result存貯的是2。

15!=1307674368000。然而,2*15=30,去0後是3而非正確的8。

事實上,我們存貯的應是12,12*15=180,去0後是18,個位是正確的8。

#include

#include

#include

#include

using namespace std;

intmain()

cout<10

}

我們只需在*位置改為100000000即可。

C陷阱與缺陷的學習筆記

1 用單引號括起的字元實際代表乙個整數,整數值對應於該字元在編譯器中採用的字符集對應的序列值 雙引號括起的字串,代表的是乙個指向無名陣列起始字元的指標,該陣列被雙引號之間的字元和 0 初始化。對於 yes 這種形式的表示,不同的編譯器採取的方式不同,但大都理解為 乙個整數值,由y e s 所代表的整...

Unity筆記 靜態碰撞體的陷阱

靜態碰撞體 static collider 物體勾選為靜態static,有collider元件,無rigidbody元件。unity在遊戲初始化時,會把所有的靜態碰撞體合併為乙個很大的collider,unity會認為這些物體在遊戲中是不能移動的。但是若在遊戲中不小心移動了這些靜態碰撞體的位置 它們...

Linux的常用目錄及寒假學習筆記

linux檔案目錄下常用的目錄 bin 使用者常用的一些命令放在 bin 目錄下 boot 有關啟動的一些重要檔案放在 boot 目錄下,dev 系統中裝置的裝置檔案儲存 etc 系統中的各種配置檔案,如httpd,host.conf等 home 系統使用者中的普通使用者 lib 系統執行需要的庫檔...