Pesquisar este blog

Livros Recomendados

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

terça-feira, 23 de fevereiro de 2021

URI (BEECROWD) - 1759 - Ho Ho Ho - Iniciante - C e C++

Um outro problema Iniciante resolvido! Este é o "Ho Ho Ho", do Beecrowd. Um problema bem simples, veja na sequência as soluções!

Plataforma: URI (BEECROWD)

Problema1759

Enunciado:

Papai Noel está brincando com seus duendes para entretê-los durante a véspera do Natal. A brincadeira consiste nos elfos escreverem números em pedaços de papel e colocarem no gorro do Papai Noel. Após todos terminarem de colocar os números Noel sorteia um papel e aquele número representa quantos "Ho" o Noel deve falar. Seu trabalho é ajudar o Papai Noel montando um problema que mostre todos os "Ho" que ele deve falar dado o número sorteado.

Linguagens: C e C++

Solução:

As três soluções aqui são equivalentes, mas as duas primeiras têm uma pequena diferença em termos de que estruturas foram utilizadas para resolver o problema.

Nas primeiras duas soluções, foi criado um contador que é incrementado até que ele seja igual a n. Enquanto isso, vai imprimindo Ho. Assim que a expressão condicional da estrutura de repetição é falsa, imprime-se "Ho!\n" e o programa é encerrado. Isso foi feito porque o último "Ho" é sucedido por uma exclamação e uma nova linha.

Código em C:

#include <stdio.h>

int main() {
    int n, i = 1;
    scanf("%i", &n);
    while (i++ < n)
        printf("Ho ");
    printf("Ho!\n");
}

Código em C++:

#include <iostream>

using namespace std;

int main() {
    int n, i = 1;
    cin >> n;
    
    while (i++ < n)
        cout << "Ho ";
    
    cout << "Ho!" << endl;
    
    return 0;
}

Solução alternativa em C++:

Esta solução não usa o contador, faz todo controle da quantidade de "Ho"s decrementando o valor de n.
Se n for diferente de zero, sempre imprime o espaço. Isso acontece porque após o último Ho não há espaço. Saindo da estrutura de repetição, imprime-se a exclamação e a nova linha (endl).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
int main() {
    int n;
    cin >> n;
    while(n--){
        cout << "Ho";
        if(n!=0){
            cout << " "; 
        }
    }
    cout << "!" << endl;
}

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