quinta-feira, 25 de outubro de 2018

URI PROBLEMA 1133 - Resto da Divisão SOLUÇÃO EM C

URI Online Judge | 1133

Resto da Divisão

Adaptado por Neilor Tonin, URI  Brasil
Timelimit: 1
Escreva um programa que leia 2 valores X e Y e que imprima todos os valores entre eles cujo resto da divisão dele por 5 for igual a 2 ou igual a 3.

Entrada

O arquivo de entrada contém 2 valores positivos inteiros quaisquer, não necessariamente em ordem crescente.

Saída

Imprima todos os valores conforme exemplo abaixo, sempre em ordem crescente.



URI Online Judge | 1133

Rest of a Division

Adapted by Neilor Tonin, URI  Brazil
Timelimit: 1
Write a program that reads two integer numbers X and Y. Print all numbers between X and Y which dividing it by 5 the rest is equal to 2 or equal to 3.

Input

The input file contains 2 any positive integers, not necessarily in ascending order.

Output

Print all numbers according to above description, always in ascending order.

#include<stdio.h>
int main(){
    int X, Y, cont;
    scanf("%d%d", &X,&Y);
    if (X > Y) {
       for (cont = Y+1 ; cont < X; cont++) {
       if (cont % 5 == 2 || cont % 5 == 3) {
         printf("%d\n", cont);}
            }
        }else if(X < Y){
        for (cont = X+1 ; cont < Y; cont++) {
             if (cont % 5 == 2 || cont % 5 == 3) {
                    printf("%d\n", cont);
                }
           }
    }

}

URI PROBLEMA 1115 - Quadrante SOLUÇÃO EM C

URI Online Judge | 1115

Quadrante

Adaptado por Neilor Tonin, URI  Brasil
Timelimit: 1
Escreva um programa para ler as coordenadas (X,Y) de uma quantidade indeterminada de pontos no sistema cartesiano. Para cada ponto escrever o quadrante a que ele pertence. O algoritmo será encerrado quando pelo menos uma de duas coordenadas for NULA (nesta situação sem escrever mensagem alguma).

Entrada

A entrada contém vários casos de teste. Cada caso de teste contém 2 valores inteiros.

Saída

Para cada caso de teste mostre em qual quadrante do sistema cartesiano se encontra a coordenada lida, conforme o exemplo.



URI Online Judge | 1115

Quadrant

Adapted by Neilor Tonin, URI  Brazil
Timelimit: 1
Write a program to read the coordinates (X, Y) of an indeterminate number of points in Cartesian system. For each point write the quadrant to which it belongs. The program finish when at least one of two coordinates is NULL (in this situation without writing any message).

Input

The input contains several tests cases. Each test case contains two integer numbers.

Output

For each test case, print the corresponding quadrant which these coordinates belong, as in the example.

#include <stdio.h>

int main()
{
    int x;
    int y;

    scanf("%d", &x);
    scanf("%d", &y);

    if(x == 0 || y == 0){
            return 0;
    }

    while(x != 0 || y != 0){

        if(x > 0 && y > 0){
            printf("primeiro\n");
        }
        if(x < 0 && y > 0){
            printf("segundo\n");
        }
        if(x < 0 && y < 0){
            printf("terceiro\n");
        }
        if(x > 0 && y < 0){
            printf("quarto\n");
        }

        scanf("%d", &x);
        scanf("%d", &y);

        if(x == 0 || y == 0){
            return 0;
        }
    }

    return 0;
}

URI PROBLEMA 1117 - Validação de Nota SOLUÇÃO EM C

URI Online Judge | 1118

Várias Notas Com Validação

Por Neilor Tonin, URI  Brasil
Timelimit: 1
Escreva um programa para ler as notas da primeira e a segunda avaliação de um aluno. Calcule e imprima a média semestral. O programa só deverá aceitar notas válidas (uma nota válida deve pertencer ao intervalo [0,10]). Cada nota deve ser validada separadamente.
No final deve ser impressa a mensagem “novo calculo (1-sim 2-nao)”, solicitando ao usuário que informe um código (1 ou 2) indicando se ele deseja ou não executar o algoritmo novamente, (aceitar apenas os código 1 ou 2). Se for informado o código 1 deve ser repetida a execução de todo o programa para permitir um novo cálculo, caso contrário o programa deve ser encerrado.

Entrada

O arquivo de entrada contém vários valores reais, positivos ou negativos. Quando forem lidas duas notas válidas, deve ser lido um valor inteiro . O programa deve parar quando o valor lido para este X for igual a 2.

Saída

Se uma nota inválida for lida, deve ser impressa a mensagem “nota invalida”. Quando duas notas válidas forem lidas, deve ser impressa a mensagem “media = ” seguido do valor do cálculo.
Antes da leitura de X deve ser impressa a mensagem "novo calculo (1-sim 2-nao)" e esta mensagem deve ser apresentada novamente se o valor da entrada padrão para X for menor do que 1 ou maior do que 2, conforme o exemplo abaixo.
A média deve ser impressa com dois dígitos após o ponto decimal.



URI Online Judge | 1117

Score Validation

Adapted by Neilor Tonin, URI  Brazil
Timelimit: 1
Write a program that reads two scores of a student. Calculate and print the average of these scores. Your program must accept just valid scores [0..10]. Each score must be validated separately.

Input

The input file contains many floating-point numbers​​, positive or negative. The program execution will be finished after the input of two valid scores.

Output

When an invalid score is read, you should print the message "nota invalida".
After the input of two valid scores, the message "media = " must be printed followed by the average of the student. The average must be printed with 2 numbers after the decimal point.






#include <stdio.h>

int main()

{

double a,b,c,d;

c=0,d=0;

while(1)

{

if(d==2)

break;

scanf("%lf", &a);

if(a>=0 && a<=10)

{

d++;

c+=a;

}

else

printf("nota invalida\n");

}

b=c/2.00;

printf("media = %.2lf\n", b);

return 0;

}

URI PROBLEMA 1173 - Preenchimento de Vetor I SOLUÇÃO EM C

URI Online Judge | 1173

Preenchimento de Vetor I

Adaptado por Neilor Tonin, URI  Brasil
Timelimit: 1
Leia um valor e faça um programa que coloque o valor lido na primeira posição de um vetor N[10]. Em cada posição subsequente, coloque o dobro do valor da posição anterior. Por exemplo, se o valor lido for 1, os valores do vetor devem ser 1,2,4,8 e assim sucessivamente. Mostre o vetor em seguida.

Entrada

A entrada contém um valor inteiro (V<=50).

Saída

Para cada posição do vetor, escreva "N[i] = X", onde i é a posição do vetor e X é o valor armazenado na posição i. O primeiro número do vetor N (N[0]) irá receber o valor de V.



URI Online Judge | 1173

Array fill I

Adapted by Neilor Tonin, URI  Brazil
Timelimit: 1
Read a number and make a program which puts this number in the first position of an array N[10]. In each subsequent position, put the double of the previous position. For example, if the input number is 1, the array numbers ​​must be 1,2,4,8, and so on.

Input

The imput contains an integer number (V < 50).

Output

Print the stored number of each array position, in the form "N[i] = X", where i is the position of the array and x is the stored number at the position i. The first number for X is V.

#include <stdio.h>
int main()
{
    int n[10], a, v;
    scanf("%d", &v);
    for(a=0; a<=9; a++)
    {
        n[a]=v;
        printf("N[%d] = %d\n",a,v);
        v*=2;
    }
    return 0;
}

URI PROBLEMA 1323 - Feynman SOLUÇÃO EM C

URI Online Judge | 1323

Feynman

Por Inês Kereki  Uruguai
Timelimit: 1
Richard Phillips Feynman era um físico americano muito famoso e ganhador do Prêmio Nobel de Física. Ele trabalhava em física teórica e também foi pioneiro no campo da computação quântica. Ele visitou a América do Sul por dez meses, dando palestras e aproveitando a vida nos trópicos. Ele também é conhecido pelos livros "Surely You’re Joking, Mr. Feynman!" e "What Do You Care What Other People Think?", que inclui algumas de suas aventuras abaixo do equador.
Sua paixão da vida inteira era resolver e criar quebra-cabeças, trancas e códigos. Recentemente, um fazendeiro idoso da América do Sul, que hospedou o jovem físico em 1949, achou alguns papéis e notas que acredita-se terem pertencido a Feynman. Entre anotações sobre mesóns e eletromagnetismo, havia um guardanapo onde ele escreveu um simples desafio: "quantos quadrados diferentes existem em um quadriculado de N x N quadrados?".
No mesmo guardanapo havia um desenho, que está reproduzido abaixo, mostrando que para N = 2, a resposta é 5.

Entrada

A entrada contém diversos casos de teste. Cada caso de teste é composto de uma única linha, contendo apenas um inteiro N, representando o número de quadrados em cada lado do quadriculado (1 ≤ N ≤ 100).
O final da entrada é indicado por uma linha contendo apenas um zero.

Saída

Para cada caso de teste na entrada, seu programa deve imprimir uma única linha, contendo o número de diferentes quadrados para a entrada correspondente.



#include <stdio.h>
int main()
{
    int a,b;
    while(1)
    {
        scanf("%d", &a);
        if(a==0) break;
        else b=(a*(a+1)*((2*a)+1))/6;
        printf("%d\n",b);
    }
    return 0;
}

URI PROBLEMA 1170 - Blobs SOLUÇÃO EM C

URI Online Judge | 1170

Blobs

Adaptado por Neilor Tonin, URI  Brasil
Timelimit: 1
No planeta Alpha vive a criatura Blobs, que come precisamente 1/2 de seu suprimento de comida disponível todos os dias. Escreva um algoritmo que leia a capacidade inicial de suprimento de comida (em Kg), e calcule quantos dias passarão antes que Blobs coma todo esse suprimento até restar um quilo ou menos.

Entrada

A primeira linha de entrada contem um único inteiro N (1 ≤ N ≤ 1000), indicando o número de casos de teste. As Nlinhas seguintes contém um valor de ponto flutuante C (1 ≤ C ≤ 1000) correspondente à quantidade de comida disponível para Blobs.

Saída

Para cada caso de teste, imprima uma linha contendo o número de dias que Blobs irá demorar para comer todo seu suprimento de comida, seguido da palavra "dias".



#include <stdio.h>

int main(){
    int n, dias, i;
    float x;
    
    scanf("%d", &n);
    for(i = 0; i < n; i++){
            scanf("%f", &x);
            dias = 0;
            while(x > 1){
                    x /= 2;
                    dias++;
            }
            printf("%d dias\n", dias);
    }
    
    return 0;
}

URI PROBLEMA 1026 - Carrega ou não Carrega? SULUÇÃO EM C

URI Online Judge | 1026

Carrega ou não Carrega?

Por Monirul Hasan Tomal, SEU  Bangladesh
Timelimit: 2
6+9=15 parece ok. Mas como pode estar certo 4+6=2?
Veja só. Mofiz trabalhou duro durante seu curso de Eletrônica Digital, mas quando lhe foi solicitado que implementasse um somador de 32 bits como exame no laboratório, ele acabou fazendo algum erro na parte de projeto. Depois de vasculhar seu projeto por uma hora e meia, ele encontrou seu erro. Ele estava fazendo soma de bits, mas seu carregador de bit (carry) sempre apresentava como saída o valor zero. Portanto,
4  = 00000000 00000000 00000000 00000100
+6 = 00000000 00000000 00000000 00000110
----------------------------------------
2  = 00000000 00000000 00000000 00000010

Claro que já é uma boa coisa ele finalmente ter encontrado o seu erro, mas isso foi muito tarde. Considerando seu esforço durante o curso, o instrutor deu a ele mais uma chance: Mofiz teria que escrever um programa eficiente que pegaria 2 valores decimais de 32 bits sem sinal como entrada e deveria produzir um número de 32 bits sem sinal como saída, ou seja, somando do mesmo modo como o circuito faz.

Entrada

Em cada linha de entrada haverá um par de inteiros separado por um único espaço. A entrada termina com EOF.

Saída

Para cada linha de entrada, o programa deverá fornecer uma linha de saída, que é o valor após somar dois números no modo “Mofiz”.



#include<stdio.h>
int main()
{
   int unsigned long  a,b,c;

   while(scanf("%lu %lu",&a,&b)==2){
     c = (a^b);
   printf("%lu\n",c);
 }
    return 0;
}

URI PROBLEMA 1133 - Resto da Divisão SOLUÇÃO EM C

URI Online Judge | 1133 Resto da Divisão Adaptado por Neilor Tonin, URI   Brasil Timelimit: 1 Escreva um programa que leia 2 valo...