C 複習(四) 高次方尾數 階乘尾數

2021-09-11 06:55:23 字數 619 閱讀 9494

題目四:高次方程的後三位,即輸入x,y,求x的y次方的後三位

題目五:求階乘尾數有多少個零,例如輸入a,a!末尾的零的個數

/*

題目四:求高次方程的後三位,即輸入x,y,求x的y次方的後三位

分析:int型資料範圍是正負21億左右,所以直接求高次方程會突破

取值範圍,因此只需要每次取後三位即可

題目五:求階乘尾數有多少個零,例如輸入a,a!末尾的零的個數

分析:同上,取值範圍難以計算所有的數值 ,通過計算可以發現

每增加乙個「5」,末尾就會增加乙個零,比如5!有乙個零,

10!有兩個零,這個規律是因為能夠乘出10只能是5的倍數,兩個「5」

之間又含有至少兩個偶數,因此此問題就成為了求1到a 之間有

多少個可以被5整除的數的個數問題,同樣若為25,則末尾有兩個零。

*/#include#includeusing namespace std;

int main()

cout<>number;

int total,count;

for(i = 1;;i++)

//cout<0;count_5--)

cout<}

演算法精練 高次方數的尾數 階乘尾數零的個數

高次方數的尾數 要求 求133的133次方的最後三位數。利用c c 程式進行設計。演算法設計 由於計算機所能表示的整數範圍有限,直接乘的方法顯然是不可能得到正確的結果。但事實上,題目只要求保留後三位,完全沒有必要求出完整結果。因此 通過研究乘法的規律可以發現,乘積的後三位的值只與乘數與被乘數的後三位...

高次方數的尾數問題

問題描述 求13的13次方的最後三位數。問題分析 許多初學者看到本題最容易想到的方法是 將13累乘13次後,擷取最後三位。但是,計算機中儲存的整數有一定的範圍,超出範圍後將不能正確表示,所以用這種方法不可能得到正確的結果。實際上,題目僅要求求出13的13次方的後三位,沒必要全求出來。演算法設計 有研...

C語言 求高次方數的尾數

許多初學者看到本題最容易想到的方法就是 將13累乘13次後擷取最後三位即可。但是計算機中儲存的整數有一定的範圍,超出某範圍將不能正確表示,所以用這種演算法不可能得到正確的結果。實際上,題目僅要求後三位的值,完全沒有必要把13的13次方完全求出來。手工計算13的13次方的步驟如下 研究乘法的規律會發現...