关于组合数
  • 板块学术版
  • 楼主Gumbo
  • 当前回复8
  • 已保存回复8
  • 发布时间2022/10/7 17:15
  • 上次更新2023/10/27 08:17:15
查看原帖
关于组合数
478861
Gumbo楼主2022/10/7 17:15

有这样一段代码:

long long C(long long a,long long b,long long p){
    long long ans=1;
    for(long long i=a-b+1;i<=a;++i)ans=ans*i%p;
    for(long long i=1;i<=b;++i)ans=ans*qpow(i,p-2,p)%p;
    return ans%p;
}

不难看出,结果是 CabmodpC_a^b\mod p

那这么一段:

long long C(long long a,long long b,long long p){
    long long ans=1;
    b=a-b; 
    for(long long i=a-b+1;i<=a;++i)ans=ans*i%p;
    for(long long i=1;i<=b;++i)ans=ans*qpow(i,p-2,p)%p;
    return ans%p;
}

结果应该一样。

可实际上,它们的运行结果不一样,这是为什么?

2022/10/7 17:15
加载中...