Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 1984. Mostrar todas as postagens
Mostrando postagens com marcador 1984. Mostrar todas as postagens

domingo, 28 de fevereiro de 2021

URI (BEECROWD) - 1984 - O Enigma do Pronalândia - Iniciante - C e C++

O Enigma da Pronolândia, problema iniciante resolvido! Aqui posto as soluções em C e C++ para esse problema. Compare com a(s) sua(s) respota(s) e comente se ficou igual ou parecido!!!

Plataforma: URI (BEECROWD)

Problema1984

Enunciado:

Os cientistas da NASA descobriram um novo exoplaneta que fica a 1 bilhão de anos luz da terra. O nome desse planeta foi batizado de Pronalândia em homenagem aos novos cientistas que estão sendo formados no PRONATEC. Só que o mais incrível ainda está por vir. Ao observar melhor o planeta eles conseguiram identificar que os habitantes da Pronalândia estavam querendo se comunicar por uma numeração. Só que a numeração que encontraram está invertida e como encontraram muitas delas chamaram você para conseguir automatizar esse processo. Logo, dado um número grande, sua tarefa é imprimir esse número invertido.

Linguagens: C e C++


Solução:

Neste exercício devemos imprimir o número invertido. Para isso é necessário que ele seja lido como uma cadeia de caracteres, senão o zero, ao ser posicionado como dígito maior, é eliminado (zero à esquerda). Assim, trabalhou-se então com cadeia de caracteres. O importante era saber quantos dígitos o número tinha, para então ler esse dado de trás pra frente, ou seja, do maior índice até o índice zero.

Código em C:

#include <stdio.h>

int main() {
    char *numero = (char *) malloc(sizeof(char) * 12);
    int tamanho = 0;
    long long int valor;
    
    scanf("%lld", &valor);
    sprintf(numero, "%lld", valor);
    
    while(numero[tamanho] != '\0')
        tamanho++;
    
    while(--tamanho >= 0)
        printf("%c", numero[tamanho]);
    
    printf("\n");

    return 0;
}

Código em C++:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string numero;
    int tamanho = 0;
    long long int valor;
    
    cin >> valor;
    numero = to_string(valor);
    
    while(numero[tamanho] != '\0')
        tamanho++;
    
    while(--tamanho >= 0) {
        cout << numero[tamanho];
    }
    
    cout << endl;

    return 0;
}

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