Skip to main content

URI Problem 1160 Solution Population Increase - URI Online Judge Solution


 

URI Online Judge Solution 1160 Population Increase Using C, Python Programming Language.

Mariazinha wants to solve an interesting problem. Given the population and growing rate of 2 cities (A and B), she would like to know how many years would be necessary to the smaller city (always A) to be greater than the larger city (always B) in population. Of course, she only wants to know the result for cities that the growing rate for city A is bigger than the growing rate for city B, therefore, she separated these test cases for you. Your job is to build a program that print the time in years for each test case.

However, in some cases the time can be so big and Mariazinha don't want to know the exact time for these cases. In this way, for these test cases, it is enough printing the message "Mais de 1 seculo", that means "More than a Century".

Input

The first line of the input contains a single integer T, indicating the number of test cases (1 ≤ T ≤ 3000). Each test case contains four numbers: two integers PA and PB (100 ≤ PA < 1000000, 100 ≤ PB ≤ 1000000, PA < PB) indicating respectively the population of A and B and two numbers G1 and G2 (0.1 ≤ G1 ≤ 10.0, 0.0 ≤ G2 ≤ 10.0, G2 < G1) with one digit after the decimal point each, indicating the populational growing (in percentual) for A and B respectively.

Pay attention please: The population always is an integer number. So, a growing of 2.5% over a population of 100 will result in 102 (instead of 102.5) and a growing of 2.5% over a population of 1000 will result in 1025. In addition, use double variables to the growing rate.

Output

Print, for each test case, how many years would be necessary to the city A became greater than the city B (in inhabitants). Remember that if this time is greater than 100 it will be necessary printing the message: "Mais de 1 seculo". In each one of these cases, maybe would be interesting interrupt the counting, otherwise you'll get "Time Limit Exceeded".
Input SampleOutput Sample

6
100 150 1.0 0
90000 120000 5.5 3.5
56700 72000 5.2 3.0
123 2000 3.0 2.0
100000 110000 1.5 0.5
62422 484317 3.1 1.0

51 anos.
16 anos.
12 anos.
Mais de 1 seculo.
10 anos.
100 anos.

Solution Using C:

#include<stdio.h>
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int PA,PB,y=0;
        float G1,G2;
        scanf("%d%d%f%f",&PA,&PB,&G1,&G2);
        while(1)
        {
            PA = PA + (int)(((float)PA*G1)/100);
            PB = PB + (int)(((float)PB*G2)/100);
            y++;
            if(PA>PB)
                break;
        }
        if(y>100)
            printf("Mais de 1 seculo.\n",y);
        else
            printf("%d anos.\n",y);
    }

    return 0;
}

Solution Using Python:

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; }