Professional Documents
Culture Documents
}
void tulis(int A[], int B[], int u)
{
int i;
for(i=0;i<u;i++)
{ printf("\t\t\t..............\n");
printf("\t\t\tx = %d mod %d \n",A[i],B[i]);
printf("\t\t\t..............\n");
}
}
void proses(int a[], int b[], int h[], int n)
{
int i,w,j,e,k,temp,r;
int q,we;
w=1;
for(i=0;i<n;i++)
{
w=w*b[i];
}
for(i=0;i<n;i++)
{
j=1;
e=1;
k=w/b[i];
do
{
r=(k*j-1)%b[i];
j++;
}while(r!=0);
j--;
temp=h[i];
h[i]=j;
j=temp;
}
q=0;
for(i=0;i<n;i++)
{
q=q+(w/b[i])*a[i]*h[i];
}
we=q%w;
printf("\t\t\t*****************************\n");
printf("\t\t\tnumbers in the search is= %d\n",we);
printf("\t\t\t%d = %d mod %d\n",q,we,w);
printf("\t\t\t*****************************\n");
}
int gcd(int A[], int B[], int n)
{
int i,sisa,flag,r,s;
i=0;flag=0;
while(i<n && flag==0)
{
r=A[i];s=B[i];
do
{
sisa=s%r;
s=r;
r=sisa;
}while(sisa!=0);
if(s==1)
{
flag=0;
}
else
{
flag=1;
}
i++;
}
return flag;
}
main()
{
int n,j;j=0;
char pilih;
pilih='y';
int a[6]; int b[6]; int h[6];
printf("\t\t\tWELCOME ......................\n");
printf("\t\t\tFARIHUL ROUF : NIM : 10108172586\n");
printf("\t\t\t.......................................\n");
printf("\t\t\tC source at compile it with gcc on GNU Linux\n");
printf("\t\t\t.......................................\n");
printf("..............................\n");
printf("..........................\n");
do
{
printf("\t\thow much data that the input to find solutions : "); scanf("%d",&n);
baca(a,b,n);
tulis(a,b,n);
j=gcd(a,b,n);
if(j==0)
{
proses(a,b,h,n);
}
else
{
printf("\t\t\tgcd is not equal to 1 \n");
printf("\t\t\tNot eligible [mi*nj]=1\n");
printf("\t\t\tThere's no problem-solving solutions\n");
}
printf("select Y / T to continue or come out of the program = "); scanf("%s",&pilih);
}while(pilih=='y' || pilih=='Y');
if(pilih!='y' || pilih!='Y')
{
printf("\t\t\tYou've come out of the program\n");
printf("\t\t\tThanks\n");
}