51Nod 1079 中国剩余定理

题意:一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K。例如,K % 2 = 1, K % 3 = 2, K % 5 = 3。符合条件的最小的K = 23。

解题思路:典型的中国剩余定理,直接套个板子就好

代码:

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define ll long long
const int maxn=15;
ll m[maxn],a[maxn];
//扩展欧几里得算法
void gcd(ll a,ll b,ll &d,ll &x,ll &y)
{
    if(b==0){d=a;x=1;y=0;}
    else
    {
        gcd(b,a%b,d,y,x);
        y-=(a/b)*x;
    }
}
//中国剩余定理
ll Chinesert(int n,ll *m,ll *a)
{
    ll M=1,d,y,x=0;
    for(int i=0;i

 

 

 

你可能感兴趣的:(OJ刷题)