Pesquisar este blog

Livros Recomendados

sábado, 30 de janeiro de 2021

URI (BEECROWD) - 1212 - Aritmética Primária - Matemática - C

Plataforma: URI (BEECROWD)
Problema1212

Enunciado:
As crianças são ensinadas a adicionar vários dígitos da direita para a esquerda, um dígito de cada vez. Muitos acham a operação "vai 1" (em inglês chamada de "carry", na qual o valor 1 é carregado de uma posição para ser adicionado ao dígito seguinte) um desafio significativo. Seu trabalho é para contar o número de operações de carry para cada um dos problemas de adição apresentados para que os educadores possam avaliar a sua dificuldade.

Linguagem: C


Solução:

#include <stdio.h>
int main() {
    unsigned int v1, v2, r1, r2, carries, teveCarry;
    while (scanf("%u %u", &v1, &v2) != EOF) {
        if (!v1 && !v2)
            break;
        carries = 0;
        teveCarry = 0;
        while (v1 || v2) {
            r1 = v1 % 10;
            r2 = v2 % 10;
            v1 /= 10;
            v2 /= 10;
            if (r1 + r2 + teveCarry > 9) {
                carries++;
                teveCarry = 1;
            }
            else
                teveCarry = 0;
        }
        if (!carries)
            printf("No carry operation.\n");
        else if (carries == 1)
            printf("%u carry operation.\n", carries);
        else
            printf("%u carry operations.\n", carries);
    }
    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas