1 #include 2 #include 34using
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...