https://oj.shiyancang.cn/Problem/798.html

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 21252;
ll a[4],m[4];
ll M;
ll ex_gcd(ll a,ll b,ll &x,ll &y)
{
if(b==0){x=1,y=0;return a;}
ll d=ex_gcd(b,a%b,x,y);
ll temp=x;x=y;y=temp-a/b*y;
return d;
}
ll crt(ll n)
{
ll i,Mi,xi,yi,d,Ans=0;
M=1;
for(i=1;i<=n;i++)M*=m[i];
for(i=1;i<=n;i++)
{
Mi=M/m[i];d=ex_gcd(Mi,m[i],xi,yi);
Ans=(Ans+Mi*a[i]*xi)%M;
}
return (Ans%M+M)%M;//最小整数解,因为gcd为1所以直接M就可以了
}
int main()
{
ll k,t=0;
m[1]=23,m[2]=28,m[3]=33;
while(~scanf("%lld%lld%lld%lld",&a[1],&a[2],&a[3],&k),a[1]!=-1||a[2]!=-1||a[3]!=-1||k!=-1)
{
ll ans=crt(3);
while(ans<=k) ans+=M;//要超过k才行
printf("Case %lld: the next triple peak occurs in ",++t);
cout<<ans-k<<" days.\n";
}
return 0;
}

特殊情况的中国剩余定理,直接构造,因为gcd为1,并且在模M下具有唯一解,所以正常的模M就可以了。

但是要大于k,所以要到k之后。

SYCOJ798Biorhythms的更多相关文章

随机推荐

  1. Innodb Cluster集群部署配置

    目录 一.简介 二.环境声明 三.部署 安装(均操作) 配置(均操作) 开启group_replication(均操作) 启动group_replication 创建集群(在mysql-1执行) 创建 ...

  2. 分布式可扩展web体系结构设计实例分析

    Web分布式系统设计准则 下面以一个上传和查询图片的例子来说明分布式web结构的设计考虑和常用的提高性能的方法.该例子提供上传图片和下载图片两个简单功能,并且有一下假设条件?: - 可以存储无上限数量 ...

  3. Linux_ShellCode总结

    在寄存器都是非理想值情况下(shellcode可根据环境具体触发时寄存器的值做长度调整),我本着最优通用的原则,整理了Linux下32位和64位最短通用shellcode的编写. 32位 有" ...

  4. Python 计算AWS4签名,Header鉴权与URL鉴权

    AWS4 版本签名计算参考 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # @Time: 2021/7/24 8:12 # @Author:zhangm ...

  5. java 多线程: Thread 并发访问-代码块同步synchronized {};String作为被锁的对象

    方法同步的弊端 方法同步的时候,如果一个方法需要线程安全控制的代码速度其实很快,但是还有其他的业务逻辑代码耗时非常长(比如网络请求),这样所有的线程就在这一块就等待着了,这样造成了极大的资源浪费如果并 ...

  6. 当页面是本地页面时,通过ajax访问tomcat里的action,传递的参数在action里并不能识别

    当页面是本地页面时,通过ajax访问tomcat里的action,传递的参数在action里并不能识别,这个问题困扰了我不少时间. 在测试时发现此问题

  7. fedora之自动寻找命令并提示安装PackageKit-command-not-found

    fedora 1.比如,我要用clang 命令编译代码,但是没有该指令.比如: clang main.cxx -o main 2.那么,输入未知命令,希望fedora会自动寻找相对应的包,再并提示安装 ...

  8. 【LeetCode】808. Soup Servings 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/soup-serv ...

  9. 【LeetCode】201. Bitwise AND of Numbers Range 解题报告(Python)

    [LeetCode]201. Bitwise AND of Numbers Range 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode.com/prob ...

  10. 【嵌入式】arduino常用函数

    IO函数 设置引脚 pinMode(0-13,INPUT/OUTPUT/INPUT_PULLUP) 设置输出 digitalWrite(0-13,HIGH/LOW) 读取引脚 digitalRead( ...