Pesquisar este blog

Livros Recomendados

sábado, 30 de janeiro de 2021

URI - 1212 - Aritmética Primária - Matemática - C++

Plataforma: URI
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 <iostream>
using namespace std;
int main() {
    unsigned int v1, v2, r1, r2, maior, carries, teveCarry;
    while (cin >> v1 >> v2) {
        if (!v1 && !v2)
            break;
        carries = 0;
        teveCarry = 0;
        maior = (v1 > v2? v1 : v2);
        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)
            cout << "No carry operation.";
        else {
            cout << carries << " carry operation";
            if (carries == 1)
                cout << ".";
            else
                cout << "s.";
        }
        cout << endl;
    }
    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