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 Online Judge Solution 1151 Easy Fibonacci

URI Online Judge Solution 1151 Easy Fibonacci using C Programming Language. he following sequence of numbers 0 1 1 2 3 5 8 13 21 ... is known as the Fibonacci Sequence. Thereafter, each number after the first 2 is equal to the sum of the previous two numbers. Write an algorithm that reads an integer N (N < 46) and that print the first N numbers of this sequence. Input The input file contains an integer number N (0 < N < 46). Output The numbers ​​should be printed on the same line, separated by a blank space. There is no space after the last number. Thanks to Cássio F. Input Sample Output Sample 5 0 1 1 2 3 Solution using C : #include <stdio.h> int main() {     int n,i,n1,n2,t;     scanf("%d",&n);     for(i=1; i<=n; i++)     {         if(i==1)         {             n1 = 0;             printf("%d",n1);         }         else if(i==2)         {             n2 = 1;             printf("%d",n2);         }

URI Online Judge Solution 1149 Summing Consecutive Integers

URI Online Judge Solution 1149 Summing Consecutive Integers using C Programming Language. Write an algorithm to read a value A and a value N. Print the sum of N numbers from A (inclusive). While N is negative or ZERO, a new N (only N) must be read. All input values are in the same line. Input The input contains only integer values, ​​can be positive or negative. Output The output contains only an integer value. Input Sample Output Sample 3 2 7 3 -1 0 -2 2 7 Solution using C : #include <stdio.h> int main() {     int a,n,s=0;         scanf("%d%d",&a,&n);         while(n<=0)             scanf("%d",&n);         while(n)         {             s += a++;             n--;         }         printf("%d\n",s);     return 0; }