Ir ao conteúdo

Posts recomendados

Postado

Guys, to morrendo nessa aqui, tenho que fazer a raiz digital, que consiste basicamente em somar os digitos de um numero inteiro, exemplo 2015 = 2+0+1+5 == 8.

Certo, até essa parte eu consegui realizar o codigo, porém não to conseguindo incluir nos termos do the huxley, podem ajudar?

 

Problema:

image.thumb.png.027ac1a211570361ac9237dbc967c25c.png

Código:

#include <stdio.h>

int main()
{
	int n, total = 0;

	scanf("%d", &n);

	if (n < 0)
		n *= -1;

	while (n)
	{
		total += n%10;

		n /= 10;
	}

	printf("%d\n", total);

	return (0);
}

 

adicionado 3 minutos depois

melhorei um pouco

#include <stdio.h>
#include <stdlib.h>




int somaDigitos (int digitos)
{
    int resto, valor, i, resultado, soma = 0;

    resultado = digitos;

    while (resultado != 0)
    {
          resto = resultado % 10;
          resultado = resultado / 10;

          soma = soma + resto;
    }

    return soma;
}

main()
{

      int numero, res;


      printf("\nDigite o numero:\n");
      scanf("%d", &numero);


      res = somaDigitos (numero);


      printf("\n*** Soma dos digitos do numero: %d. *** \n", res);

      printf("\n\n");


      system ("pause");
}

 

Postado

Olá! Compreendo você.

 

O cerne do problema é determinar qual é o  k-ésimo número que tem raiz digital x. Em outras palavras, a raiz lhe é fornecida para calcular o k-ésimo número. Certo?

 

Ideias

I0. O primeiro número que tem raiz d. é trivial, pois é ele mesmo (carece de mais verificação).

I1. O segundo número é a menor dezena possível, supondo que tem uma casa decimal de imediato.

ENTRADA

1    /* Numero de tarefas ou linhas
2 5  /* Primeira e única linha: 2 é k-ésimo número desejado cujo r. digital é 5

O problema pede o segundo (I1), de imediato supomos que é um 10 + cqualquer, aplicando S(10)= S(1 + 0)= 1, logo

c = x - 1 ou c= 5 - 1, digamos que x fosse igual a 9, então teríamos c = 9 - 1.

 

Supondo agora que k = 3 quando x = 5

Então:

  1. = 05
  2. = 14
  3. = 23

está certo até que alguém diga o contrário.

Espero ter ajudado.

Postado

Opa, cheguei até aqui, mas ainda não estou obtendo a resposta de acordo com os site

//raiz digital
#include <stdio.h>
#include <stdlib.h>
int somaDigitos (int digitos)
{
    int resto, valor, i, resultado, soma = 0;

    resultado = digitos;

    while (resultado != 0)
    {
          resto = resultado % 10;
          resultado = resultado / 10;

          soma = soma + resto;
    }

    return soma;
}

main()
{

      int numero, res, linhas, i;

      scanf("%d", &linhas);
      for (i=0; i<linhas; i++){
      scanf("%d", &numero);
      res = somaDigitos (numero);
      printf("%d\n", res);

      }

      return 0;
      }

 

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...