Ir ao conteúdo

Posts recomendados

Postado

Minha dúvida aqui é como retirar o 7 toda vez que for feita a operação. podem me ajudar ?

 

 

link da questão: https://www.urionlinejudge.com.br/judge/pt/problems/view/2569

 

 

Dona Clotilde é uma senhora muito simpática que mora em uma vila, na casa 71. Não se sabe ao certo por que, mas tinha fama de ser bruxa. Clotilde tinha muita vontade de assistir uma partida de futebol. Certo dia, ela comprou um líquido para limpar prata e com isto, ganhou um cupom que dava direito a concorrer a um ingresso para a semifinal da copa do mundo de 2014, no Mineirão, o jogo entre Alemanha x Brasil. O sorteio veio e ela ganhou o ingresso. Clotilde foi ao jogo, o Brasil perdeu de 7 x 1, e todos da vila acharam que o Brasil tinha perdido daquela forma por causa dela, coitada! O sobrinho hacker dela, San Tanaz, tomando as dores da tia, resolveu criar um vírus de computador que interferisse em cálculos matemáticos, de modo que, tudo que envolvesse o número 7 nas contas, se tornaria 0.

Por exemplo:

3 + 4 = 0

33 + 44 = 0

17 + 11 = 21

8 x 9 = 2

12 x 7 = 0

8 + 9 = 10

Postado

você pode tratar a linha inteira como um vetor de caracteres (string) e só precisa trocar os 7s por 0s.

Exemplo

#include <stdio.h>

#define T_BUFFER 256

int main(void)
{
    char buffer[T_BUFFER] = {0};
    int numero, repete, contador;

    printf("Digite um numero\n");
    do {
        fgets(buffer, T_BUFFER, stdin);
        /* Checa se o numero e valido */
        if (sscanf(buffer, "%d", &numero) != 1) {
            repete = 1;
            puts("Digite apenas numeros!");
        } else {
            repete = 0;
        }
    } while (repete);

    printf("O numero que voce digitou %d\n", numero);

    /* Troca todos os 7 por 0s */
    for (contador = 0; buffer[contador] || contador < T_BUFFER; contador++) {
        if (buffer[contador] == '7')
            buffer[contador] = '0';
    }

    sscanf(buffer, "%d", &numero);
    printf("O numero modificado %d\n", numero);
    getchar();
    return(0);
}

 

Postado

@Leanderson Pinheiro Você pode criar uma função com o parâmetro do número para pegar cada algarismo dele e verificar se tem 7. Chame a função para os dois números da operação e no resultado, p.ex,

 

int resultado = 0;
int casa = 1;
while(numero > 0){
    int n = numero % 10;
    if(n != 7){
        resultado += n * casa;
    }
    numero /= 10;
    casa *= 10;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!