實驗吧 大數模運算

2022-08-04 18:24:13 字數 850 閱讀 5774

實驗吧 大數模運算

題目大意:求$12345^$的所有約數之和,並對其取模$9901$再輸出。

唯一分解定理+生成函式

對於任意乙個數$a$,由唯一分解定理得$a=\prod_^k p_i^$,

故由生成函式的定義可知,其約數之和為$s=\prod_^k (\sum_^ p_i^j)$.

而對於$a^n$,則有$a=\prod_^k p_i^$.

故其約數之和為$s'=\prod_^k (\sum_^ p_i^j)$.

由等比數列求和公式即可求得答案.

**如下:

1 #include 2

#define n 10005

3using

namespace

std;

4 typedef long

long

ll;5 ll a=12345,n=12345,m=9901,p[n],c[n],k,ans=1

;6 ll minus(ll a,ll b)

7 ll mul(ll a,ll b)

8ll powmod(ll a,ll n)return

r;15}16

int main(void

)p[k++]=i;22}

23if(m!=1)27

for(int i=0;ii)

28 ans=mul(ans,mul(minus(powmod(p[i],c[i]+1),1),powmod(p[i]-1,m-2

)));

29 printf("

%lld\n

",ans);

30 }

Python 大數運算 (進擊吧!階乘)

進擊吧!階乘 a 0 while true try a input sum 1 for i in range 1,a 1 sum sum i print sum except breakpython實現迴圈輸入到檔案結尾 類似於c語言的 while scanf d n eof while true ...

實驗吧 程式設計迴圈 求底運算

要好好學寫指令碼!迴圈 題目介紹 給出乙個迴圈公式,對於乙個整數n,當n為奇數時,n 3n 1,當n為偶數時,n n 2,如此迴圈下去直到n 1時停止。現要求對兩個整數i 900 j 1000,輸出i j之間 包括i j 的所有數進行上述迴圈時的最大迴圈次數 包括n和1 格式 ctf 指令碼 cod...

c 大數類 大數模板

分類 大數 hdoj 分別使用c 中的運算子過載的方法來實現大數之間的數 算,包括加法 減法 乘法 除法 n次方 取模 大小比較 賦值以及輸入流 輸出流的過載。並且使用這個大數模板,順利ac了hdoj上的1134這個題目的catalan數計數問題。大數模板的 如下 cpp view plain co...