实验内容
求解x=1mod2;x=2mod3;x=3mod5;x=1mod7
代码
#include<iostream>
using namespace std;
int main(){
int m[100],M[100],y[100],x,b[100],t,n,T=1,j=1,i,X=0;
cout<<"请输入同余方程数量n=";
cin>>n;
cout<<"请输入mi:";
for(i=0;i<n;i++){
cin>>t;
m[i]=t;
}
cout<<"请输入bi:" ;
for(i=0;i<n;i++){
cin>>t;
b[i]=t;
}
for(i=0;i<n;i++){
T=T*m[i];
}
cout<<"M="<<T<<endl;
cout<<"Mi分别为:";
for(i=0;i<n;i++){
M[i]=T/m[i];
cout<<M[i]<<" ";
}
cout<<endl;
for(i=0;i<n;i++){
y[i]=0;
do{
y[i]++;
t=(M[i]*y[i])%m[i];
} while(t!=1);
}
cout<<"yi分别为:";
for(i=0;i<n;i++){
cout<<y[i]<<" ";
}
cout<<endl;
for(i=0;i<n;i++){
X=X+M[i]*y[i]*b[i];
}
x=X%T;
cout<<"求得x="<<x;
system"pause";
}