• 中国剩余定理模数互质的情况模板(poj1006


    http://poj.org/problem?id=1006

    #include <iostream>
    #include <cstdio>
    #include <queue>
    #include <algorithm>
    #include <cmath>
    #include <cstring>
    #define inf 2147483647
    #define N 1000010
    #define p(a) putchar(a)
    #define For(i,a,b) for(long long i=a;i<=b;++i)
    //by war
    //2019.8.8
    using namespace std;
    long long p,e,i,d,ans,m,x,y,cnt;
    long long a[10],b[10];
    void in(long long &x){
        long long y=1;char c=getchar();x=0;
        while(c<'0'||c>'9'){if(c=='-')y=-1;c=getchar();}
        while(c<='9'&&c>='0'){ x=(x<<1)+(x<<3)+c-'0';c=getchar();}
        x*=y;
    }
    void o(long long x){
        if(x<0){p('-');x=-x;}
        if(x>9)o(x/10);
        p(x%10+'0');
    }
    
    void exgcd(long long a,long long b,long long &x,long long &y){
        if(!b){
            x=1;y=0;
            return ;
        }
        exgcd(b,a%b,y,x);
        y-=a/b*x;
    }
    
    signed main(){
        a[1]=23;a[2]=28;a[3]=33;
        a[0]=a[1]*a[2]*a[3];
        while(cin>>b[1]>>b[2]>>b[3]>>d&&(b[1]!=-1)){
            ans=0;
            For(i,1,3){
                m=a[0]/a[i];
                exgcd(m,a[i],x,y);
                x=(x%a[i]+a[i])%a[i];
                ans=(ans+b[i]*m*x)%a[0];
            }
            ans=((ans-d)%a[0]+a[0])%a[0];
            if(ans==0)
                ans=a[0];
            cout<<"Case "<<++cnt<<": the next triple peak occurs in "<<ans<<" days."<<endl;
        }
        return 0;
    }
  • 相关阅读:
    Jquery想说爱你不容易
    关于css
    sass相关实例
    web前端学习之HTML
    web前端学习
    软件工程来换网前端设计
    关于前端开发的相关资料及例子
    四则运算
    自我介绍
    关于读完《软件工程》之后不解的问题
  • 原文地址:https://www.cnblogs.com/war1111/p/11321612.html
Copyright © 2020-2023  润新知