洛谷P1009階乘之和 zhengjun

2021-10-02 17:55:36 字數 2414 閱讀 2717

題目描述

用高精度計算出s=1

!+2!

+3!+

…+n!

(n≤50

)s=1!+2!+3!+…+n! (n\le 50)

s=1!+2

!+3!

+…+n

!(n≤

50)其中「!」

「!」「!

」表示階乘,例如:5!=

5×4×

3×2×

15!=5 \times 4 \times 3 \times 2 \times 1

5!=5×4

×3×2

×1。輸入格式

乙個正整數nnn。

輸出格式

乙個正整數s

ss,表示計算結果。

輸入輸出樣例

輸入 #1 複製

3
輸出 #1 複製
9
高精度啦,用運算子過載。不會的就用陣列模擬。

#include

#define maxn 10005

using

namespace std

/*********************以下是模板*******************/

struct bignum

bignum (

int num)

bignum (

const

char

*num)

bignum operator=(

const

char

*a) bignum operator=(

const

int num)

bignum operator+(

const bignum &a)

if(c.s[c.len]==0

) c.len--

;return c;

} bignum operator+=

(const bignum &a)

bignum operator*(

const bignum &a)

while

(c.s[c.len]==0

) c.len--

;return c;

} bignum operator*=

(const bignum &a)

bool

operator

<

(const bignum &a)

const

bool

operator

>

(const bignum &a)

const

bool

operator

<=

(const bignum &a)

const

bool

operator

>=

(const bignum &a)

const

bool

operator==(

const bignum &a)

const

bool

operator!=(

const bignum &a)

const

void change (bignum &a,bignum &b)

bignum operator-(

const bignum &a)

const

}while

(c.len==0)

c.len--

;return c;

} c.len=b.len;

for(

int i=

1; i<=c.len;

++i)

}while

(c.len==0)

c.len--

;return c;

} bignum operator-=

(const bignum &a)

bignum operator/(

const

int n)

while

(c.s[c.len]==0

) c.len--

;return c;

} bignum operator/=

(const

int a)};

ostream&

operator

<<

(ostream &out,

const bignum &x)

/*******************以上是模板*********************/

int n;

bignum sum,ans;

intmain()

cout

}

洛谷 P1009 階乘之和

題目描述 用高精度計算出s 1 2 3 n n 50 s 1 2 3 n n 50 其中 表示階乘,例如 5 5 times 4 times 3 times 2 times 15 5 4 3 2 1。乙個正整數nn。乙個正整數ss,表示計算結果。輸入 1複製 3輸出 1複製 9分析 本來以為昨晚寫完...

洛谷 P1009 階乘之和

用高精度計算出s 1!2!3!n!n 50 其中 表示階乘,例如 5!5 4 3 2 1。輸入格式 乙個正整數n。輸出格式 乙個正整數s,表示計算結果。輸入樣例 1 複製 3 輸出樣例 1 複製 9 思路 高精度加法 高精度乘法。include include include include usi...

階乘之和 洛谷 P1009題

首先,題目傳送門是一定要有的 接下來就是題目描述了 用高精度計算出s 1 2 3 n n 50 其中 表示階乘,例如 5 5 4 3 2 1。乙個正整數n 乙個正整數s 表示計算結果。輸入 1 3 輸出 1 9 注 深入淺出基礎篇 中使用本題作為例題,但是其資料範圍只有 n 20,使用書中的 無法通...