藍橋杯試題 基礎練習 階乘計算

2021-10-04 03:32:41 字數 1309 閱讀 3795

題目鏈結-基礎練習 階乘計算

資源限制

時間限制:1.0s 記憶體限制:512.0mb

問題描述

輸入乙個正整數n,輸出n!的值。

其中n!=1* 2 * 3*…*n。

演算法描述

n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a[0]表示a的個位,a[1]表示a的十位,依次類推。

將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相應的進製。

首先將a設為1,然後乘2,乘3,當乘到n時,即得到了n!的值。

輸入格式

輸入包含乙個正整數n,n<=1000。

輸出格式

輸出n!的準確值。

樣例輸入

10
樣例輸出

3628800
解題思路

見演算法描述ο(=•ω<=)ρ⌒☆

附上**

#include

#define int long long

#define lowbit(x) (x &(-x))

using

namespace std;

const

int inf=

0x3f3f3f3f

;const

int dir[4]

[2]=

;const

double pi=

acos(-

1.0)

;const

double eps=

1e-10

;const

int m=

1e9+7;

const

int n=

1e5+5;

typedef

long

long ll;

typedef pair<

int,

int> pii;

int a[n]

;//儲存每一位上的數字

signed

main()

while

(num)

}for

(int i=digit-

1;i>=

0;i--

) cout<;return0;

}

藍橋杯試題 基礎練習 階乘計算

資源限制 時間限制 1.0s 記憶體限制 512.0mb 問題描述 輸入乙個正整數n,輸出n 的值。其中n 123 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙...

藍橋杯 試題 基礎練習 階乘計算

試題 基礎練習 階乘計算 資源限制 時間限制 1.0s 記憶體限制 512.0mb 問題描述 輸入乙個正整數n,輸出n 的值。其中n 123 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的...

藍橋杯試題 基礎練習 階乘計算

問題描述 輸入乙個正整數n,輸出n 的值。其中n 123 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相應的...