Skip to main content

URI Online Judge Solution 1028 Collectable Cards


URI Online Judge Solution 1028 Collectable Cards using C Programming Language.

Richard and Vicent are crazy about football collectable cards. In their spare time, they arrange a way of playing some game involving such cards. Both also have the habit of exchanging the repeated cards with their friends, and one day they thought about a different game. They called all their friends and proposed the following: with the cards in hand, each one tried to make an exchange with his closest friend following this simple rule: each one must count how many cards he owned. After this, they had to split these cards into stacks, all of it with the same size, as large as it was possible for both players. Then, each one choose one of the friend's card stacks to receive. For example, if Richard and Vincent would change the cards with respectively 8 and 12 cards each, both must put his cards in stacks of four cards (Richard would have two stacks and Vincent had three stacks), and both choose a stack from his friend to receive it.

Input

The first input line contains a single integer N (1 ≤ N ≤ 3000), indicating the number of test cases. Each test case contains two integer numbers F1 (1 ≤ F1 ≤ 1000) and F2 (1 ≤ F2 ≤ 1000)  indicating, respectly, the among of collectable cards that Richard and Vicent have to change.

Output

For each test case there will be an integer number at the output, representing the maximum size of the stack of cards which can be exchanged between two players.
Input SampleOutput Sample
3
8 12
9 27
259 111
4
9
37

Solution :

#include <stdio.h>

int CollectableCards(int x, int y){

    for(;y%x != 0;)
    {
        int t = x;
        x = y%x;
        y = t;
    }
    return x;
}

int main()
{
    int i,n, x, y;

    scanf("%d",&n);

    for(i = 0; i < n; i++)
    {
        scanf("%d%d",&x,&y);

        if(x > y)
        {
            int t = x;
            x = y;
            y = t;
        }

            printf("%d\n", CollectableCards(x,y));
    }
    return 0;
}

Comments

Popular posts from this blog

URI Problem 1001 Solution Extremely Basic - - URI Online Judge Solution

URI Online Judge Problem 1001 Extremely Basic Solution using C, Python Programming Language. Read 2 variables, named  A  and  B  and make the sum of these two variables, assigning its result to the variable  X . Print  X  as shown below. Print endline after the result otherwise you will get “ Presentation Error ”. Input The input file will contain 2 integer numbers. Output Print the letter  X  (uppercase) with a blank space before and after the equal signal followed by the value of X, according to the following example. Obs.: don't forget the endline after all. Samples Input Samples Output 10 9 X = 19 -10 4 X = -6 15 -7 X = 8 URI 1001 Solution in Python A = int(input()) B = int(input()) X = A + B print("X =",X); URI 1001 Solution in C: #include int main() { int A,B,X; scanf ("%d %d", &A, &B); X=A+B; printf("X = %d\n",X); return 0; }

URI Problem 1179 Solution Array Fill IV - URI Online Judge Solution

URI Online Judge Solution 1179 Array Fill IV  Using C, Python Programming Language. In this problem you need to read 15 numbers and must put them into two different arrays: par if the number is even or impar if this number is odd. But  the size of each of the two arrrays is only 5 positions. So every time you fill one of two arrays, you must print the entire array to be able to use it again for the next numbers that are read. At the end, all remaining numbers of each one of these two arrays must be printed beginning with the odd array. Each array can be filled how many times are necessary. Input The input contains 15 integer numbers. Output Print the output like the following example. Input Sample Output Sample 1 3 4 -4 2 3 8 2 5 -7 54 76 789 23 98 par[0] = 4 par[1] = -4 par[2] = 2 par[3] = 8 par[4] = 2 impar[0] = 1 impar[1] = 3 impar[2] = 3 impar[3] = 5 impar[4] = -7 impar[0] = 789 impar[1] = 23 par[0] = 54 par[1] = 76 par[2] = 98 Solution Using C: #include <stdi...

URI Problem 1186 Solution Below the Secundary Diagonal - URI Online Judge Solution

URI Online Judge Solution 1186 Below the Secundary Diagonal   Using C, Python Programming Language. Read an uppercase character that indicates an operation that will be performed in an array M[12][12]. Then, calculate and print the sum or average considering only that numbers that are below of the Secundary diagonal of the array, like shown in the following figure (green area). Input The first line of the input contains a single uppercase character O ('S' or 'M'), indicating the operation Sum or Average (Média in portuguese) to be performed with the elements of the array. Follow 144 floating-point numbers of the array. Output Print the calculated result (sum or average), with one digit after the decimal point. Input Sample Output Sample S 5.0 0.0 -3.5 2.5 4.1 ... 12.6 Solution Using C: #include <stdio.h> int main() {     double a=0.0, M[12][12];     char T[2];     int x,y,c=0;     scanf("%s", &T);     for(x=0;x<=1...