原題位址
題目描述
也許你早就知道階乘的含義,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 系統執行需要的庫檔...