博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ1006——中国剩余定理
阅读量:5869 次
发布时间:2019-06-19

本文共 900 字,大约阅读时间需要 3 分钟。

题目:

中国剩余定理:x= m/mj + bj + aj    讲解:

逆元:m/mj * bj -mj *y=1——m/mj * bj = 1 mod mj

拓展欧几里得:p*a+q*b=gcd(a,b)——p'=q ; q'=p - a/b * q

#include
#include
using namespace std;int a1,a2,a3,m1=23,m2=28,m3=33,mm1=924,mm2=759,mm3=644,m=21252,st;int x,y,k,t;void exgcd(int a,int b){ if(!b) { x=1; y=0; return; } exgcd(b,a%b); int tem=y; y=x-a/b*y; x=tem;}int main(){ while(1) { k=0;t++; scanf("%d%d%d%d",&a1,&a2,&a3,&st); if(a1==-1&&a2==-1&&a3==-1&&st==-1)break; a1%=m1;a2%=m2;a3%=m3; exgcd(mm1,m1); k+=mm1*a1*x;k%=m; exgcd(mm2,m2); k+=mm2*a2*x;k%=m; exgcd(mm3,m3); k+=mm3*a3*x;k%=m; while(k<=st)k+=m; k-=st; printf("Case %d: the next triple peak occurs in %d days.\n",t,k); } return 0;}

 

转载于:https://www.cnblogs.com/Narh/p/8206190.html

你可能感兴趣的文章
centos搭建php部署环境
查看>>
Kotlin探究之旅--凯撒加密
查看>>
层次数据结构的数据表设计
查看>>
前端测试-大酱的冬季前端之旅第一游
查看>>
10 种最常见的 Javascript 错误(频率最高)
查看>>
设计模式学习专栏七--------外观模式
查看>>
上海招聘职位信息
查看>>
3-25 周末总结
查看>>
学习vue笔记
查看>>
IDE顺手设置
查看>>
记一次翻译站经历
查看>>
JavaWeb项目中没有错,但是项目上面显示一个红叉的解决办法
查看>>
JavaScript 复习之语法专题
查看>>
重学Android——基于Android9.0的Activity启动流程
查看>>
前端必备技能-Charles for mac 安装和配置
查看>>
关于一天内时针分针重合次数
查看>>
数组 JSON字符串 数组过程中的问题
查看>>
各平台安装使用 MTR 诊断网络
查看>>
Flutter 支持图片以及特殊文字的输入框(一)使用方法
查看>>
武汉区块链软件公司:区块链将改动游戏工业的五种方法
查看>>