社区讨论

pasacl逆元求教

学术版参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mi7cp8qn
此快照首次捕获于
2025/11/20 19:31
4 个月前
此快照最后确认于
2025/11/20 19:31
4 个月前
查看原帖
CPP

const p=1000000007;
var n,k,i,j,s:longint;
    fac,inv:array[0..100010]of int64;




  function C(n,m:longint):int64;
    begin
	  if m>n then exit(0);
	  exit( (  (  (fac[n]*inv[m])  mod p)*inv[n-m])  mod p );
  end;

  begin

  fac[0]:=1;inv[1]:=1;

  for i:=1 to 100000 do
    fac[i]:=(fac[i-1]*i) mod p;

  for i:=2 to 100010  do
    inv[i]:=((p-(p div i))*((inv[p mod i])mod p))mod p;

  writeln(C(5,1)mod p);
  writeln(C(7,1)mod p);


  for i:=1 to 10 do
    writeln(inv[i]);
  end.
为什么输出的逆元不对?

回复

2 条回复,欢迎继续交流。

正在加载回复...