1 solutions

  • 0
    @ 2025-11-5 17:12:21

    C :

    #include<stdio.h>
    int max2(a, b)
    {
    	if (a > b)
    	{
    		return a;
    	}
    	else
    	{
    		return b;
    	}
    }
    int max3(a, b, c)
    {
    	return(max2(a, max2(b, c)));
    }
    int main()
    {
    	int nCase;
    	int i,j;
    	int flag;
    	int mod[3] = { 0 }, line[3] = { 0 };
    	long number;
    	int round;
    	scanf("%d", &nCase);
    	for (i = 1; i <= nCase; i++)
    	{
    		for (j = 0; j < 3; j++)
    		{
    			scanf("%d %d", line + j, mod + j);
    		}
    		round = max3(*line, *(line + 1), *(line + 2));
    		for (j = 0; j < 3; j++)
    		{
    			if (*(line + j) == round)
    			{
    				flag = *(mod + j);
    				break;
    			}
    		}
    		for (number = round + flag;; number = number + round)
    		{
    			if (number % line[0] == mod[0] && number % line[1] == mod[1] && number % line[2] == mod[2])
    			{
    				printf("%ld\n", number);
    				break;
    			}
    		}
    	}
    }
    

    C++ :

    #include<cstdio>
    int main()
    {
    	int n,d1,m1,d2,m2,d3,m3;
    	scanf("%d",&n);
    	for(int i=1;i<=n;i++)
    	{
    		scanf("%d %d %d %d %d %d",&d1,&m1,&d2,&m2,&d3,&m3);
    		for(int j=1;j<=1000000;j++)
    			if(j%d1==m1&&j%d2==m2&&j%d3==m3)
    			{
    				printf("%d\n",j);
    				break;
    			}
    	}
    }
    

    Pascal :

    var
     a,b:array[1..3] of longint;
     x,i,n:longint;
    begin
     readln(n);
     for i:=1 to n do begin
      readln(a[1],b[1]);
      readln(a[2],b[2]);
      readln(a[3],b[3]);
      for x:=1 to 1000000 do
       if (x mod a[1]=b[1])and(x mod a[2]=b[2])and(x mod a[3]=b[3]) then break;
      writeln(x);
     end;
    end.
    
    • 1

    Information

    ID
    18202
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    (None)
    # Submissions
    0
    Accepted
    0
    Uploaded By