求第n行楊輝三角 n很大,取模

2022-05-13 16:00:50 字數 568 閱讀 5412

1 #include 2 #include 3

4using

namespace

std;

5 typedef long

long

ll;6

const

int maxn=1000

;7 ll mod;int

n;8 ll c[100000],a[100000];9

void

init()

16 c[0]=1

;17 printf("

1->");

18for(int i=1;i<=n;++i)

23 printf("\n"

);24}25

intmain()

30return0;

31 }

為什麼不能算出來取模而用逆元呢

因為我們還要通過該結果遞推其他的項,直接取模可能造成後面的數不整除前面的項

如果只算一項,取模是可以的

或者只取模一次,那麼可以直接對結果取模

算逆元時一定要考慮式子對逆元的整除性

組合數取模(楊輝三角 Lucas定理 模合數)

1 1 m n 1000 和 1 p 10 9 p可以是任何數 這個問題比較簡單,組合數的計算可以靠 楊輝三角 那麼由於和的範圍小,直接兩層迴圈即可。long long c maxn maxn void comb int n,int m,int p 1 m n 10 18 和 2 p 10 5 p ...

控制台列印N行楊輝三角,並算出總和

scanner src new scanner system.in system.out.println 請輸入楊輝三角的行數 int total 0 int total1 0 int a src.nextint 定義乙個二維陣列 int str new int a for int i 0 i 定義...

python列印楊輝三角,第m行第k個數,多種方法

第m行有m項,m是正整數,因此k一定不會大於m,這個需求需要儲存m行的資料,那麼可以使用乙個巢狀結構 m int input 行 k int input 第幾個數 for i in range m row 1 所有行都以1開頭 if i 0 continue for j in range 1,i p...