首页 > 编程知识 正文

剩余定理(孙子定理),离散数学及其应用答案张清华

时间:2023-05-04 06:46:57 阅读:261715 作者:1997

最近离散刚学中国剩余定理,初次使用,第一次做省选题,发帖记录一下。。
话不多说上代码
洛谷 1495 中国剩余定理/曹冲称象

#include <bits/stdc++.h>using namespace std;int a[15],b[15],n;unsigned long long m=1,m1[12],ans=0;//用long long就行,数据只到1e18int main(){ ios::sync_with_stdio(0);//关闭同步流。 cin>>n; for(int i=0;i<n;i++){ scanf("%d %d",&a[i],&b[i]); m*=a[i];} for(int i=0;i<n;i++) for(int j=1;;j++){ if((j*(m/a[i])-1)%a[i]==0){ m1[i]=j;//计算模Mi的逆。 break;}} for(int i=0;i<n;i++) ans+=(b[i]*m/a[i]*m1[i])%m;//中国剩余定理! ans%=m; printf("%lldn",ans); return 0;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。