演算法訓練 階乘

2021-08-15 04:37:48 字數 786 閱讀 1648

問題描述

乙個整數n的階乘可以寫成n!,它表示從1到n這n個整數的乘積。階乘的增長速度非常快,例如,13!就已經比較大了,已經無法存放在乙個整型變數中;而35!就更大了,它已經無法存放在乙個浮點型變數中。因此,當n比較大時,去計算n!是非常困難的。幸運的是,在本題中,我們的任務不是去計算n!,而是去計算n!最右邊的那個非0的數字是多少。例如,5! = 1*2*3*4*5 = 120,因此5!最右邊的那個非0的數字是2。再如:7! = 5040,因此7!最右邊的那個非0的數字是4。請編寫乙個程式,輸入乙個整數n(n<=100),然後輸出n! 最右邊的那個非0的數字是多少。

輸入格式:輸入只有乙個整數n。

輸出格式:輸出只有乙個整數,即n! 最右邊的那個非0的數字。

輸入輸出樣例

樣例輸入

6樣例輸出

2

# include "iostream"

# include "algorithm"

#include"cmath"

#include"cstdlib"

#include"cstring"

#include"cstdio"

using namespace std;

int main()

while(i%5==0)

sum=sum*i;

while(sum%10==0)

sum/=10;

sum=sum%10;

}sum=sum*pow(2,num);

sum=sum%10;

cout<}

演算法訓練 階乘

問題描述 乙個整數n的階乘可以寫成n 它表示從1到n這n個整數的乘積。階乘的增長速度非常快,例如,13 就已經比較大了,已經無法存放在乙個整型變數中 而35 就更大了,它已經無法存放在乙個浮點型變數中。因此,當n比較大時,去計算n 是非常困難的。幸運的是,在本題中,我們的任務不是去計算n 而是去計算...

(藍橋杯)演算法訓練 階乘

問題描述 乙個整數n的階乘可以寫成n 它表示從1到n這n個整數的乘積。階乘的增長速度非常快,例如,13 就已經比較大了,已經無法存放在乙個整型變數中 而35 就更大了,它已經無法存放在乙個浮點型變數中。因此,當n比較大時,去計算n 是非常困難的。幸運的是,在本題中,我們的任務不是去計算n 而是去計算...

藍橋杯 演算法訓練 階乘

問題描述 乙個整數n的階乘可以寫成n 它表示從1到n這n個整數的乘積。階乘的增長速度非常快,例如,13 就已經比較大了,已經無法存放在乙個整型變數中 而35 就更大了,它已經無法存放在乙個浮點型變數中。因此,當n比較大時,去計算n 是非常困難的。幸運的是,在本題中,我們的任務不是去計算n 而是去計算...