高次方數的尾數問題

2021-08-20 00:08:11 字數 487 閱讀 4933

問題描述:求13的13次方的最後三位數。

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

演算法設計:有研究表明:乘積的最後三位數的值只與乘數和被乘數的後三位有關,與乘數和被乘數的高位無關。

#include #include using namespace std;

int main()

printf("the last three digits is:%d\n", last);

system("pause");

return 0;

}

在該程式中,將累乘得到的積儲存在變數last中,在進行下一次相乘之前先擷取last的後三位再相乘,將結果儲存到last中。上述程式能夠有效解決高次方數尾數的問題。

C語言 求高次方數的尾數

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

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

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

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

題目四 高次方程的後三位,即輸入x,y,求x的y次方的後三位 題目五 求階乘尾數有多少個零,例如輸入a,a!末尾的零的個數 題目四 求高次方程的後三位,即輸入x,y,求x的y次方的後三位 分析 int型資料範圍是正負21億左右,所以直接求高次方程會突破 取值範圍,因此只需要每次取後三位即可 題目五 ...