Ir ao conteúdo
  • Cadastre-se

C Desenvolver código para C


PJS1999

Posts recomendados

//Declarar variaveis
    int num1, num2;
    long int produto, produto1, n1, n2, algarismo, numero;
    char numeroInvertido[10] = "", temp[10];
    
    for (num1; num1 < 1000; num1++)
    {
        produto = num1 * num2;
        numero = produto;
                while (numero > 0)
                {
                    algarismo = numero % 10;
                    itoa(algarismo, temp, 10);
                    strcat(numeroInvertido, temp);
                    numero = (numero - algarismo) / 10;
                    
                }
                n1 = atoi(numeroInvertido);
                if (produto == n2)
                {
                    printf("Maior numero capicua: %li", n1);
                }
        
        if (num1 == 999)
        {
            for (num2 = 100; num2 < 1000; num2++)
            {
                
                produto1 = num1 * num2;
                numero = produto1;
                while (numero > 0)
                {
                    algarismo = numero % 10;
                    itoa(algarismo, temp, 10);
                    strcat(numeroInvertido, temp);
                    numero = (numero - algarismo) / 10;
                    
                }
                
                n2 = atoi(numeroInvertido);
                
                if (produto == n2)
                {
                    printf("Maior numero capicua: %li", n2);
                }
                
            }
        }
    }
    return 0;
}

 

 

 

CONDICOES ESPECIFICAS

Não posso usar estruturas

Apenas ciclos de decisão e repetição

 

Contextualização

Quero desenvolver o código para encontrar fazer todos os produtos de 100 até 999

Ou seja,

101*100 = 10100

102*100 = 10200

Quando chega a 999

999*100= 99900
999*101= 99909
até chegar 

999x999 = 998001

e depois disso encontrar o maior número capicua resultante dos produtos

 

eu passei 2 dias a tentar resolver e não consegui 😕

alguem pode analisar e ver o que deve corrigir e dar o seu exemplo

ao compilar a consola termina o programa automaticamente :7

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

#include <stdio.h>

int main()
{
    int i,        //contador 100 a 999
        j,        //contador 100 a 999
        n,        //numero calculado
        t,        //numero temporario
        ni,       //numero invertido
        mnc = 0;  //maior numero capicua
    for (i = 100; i < 1000; i++){
        for (j = i; j < 1000; j++){
            n = i * j; //Multiplica
            //printf("%6d  ", n);
            //Só precisa checar se é capicua se o número é maior que o MNC atual:
            if (n > mnc) {
                ni = 0;
                //inverte o número:
                for (t = n; t > 0; t /= 10){
                    ni = ni * 10 + t % 10;
                }
                //Se for capicua guarda como sendo o novo MNC:
                if (n == ni) {
                    mnc = n;
                }
            }
        }
    }
    printf("Maior numero capicua: %d\n", mnc);
    return 0;
}

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Olá, tudo certo!?

Então ...

 

Interessante, também tento resolver, só não entendi de forma diferente

15 horas atrás, PJS1999 disse:

Contextualização

 

Quero desenvolver o código para encontrar fazer todos os produtos de 100 até 999

Ou seja, 101 * 100 = 10100

              102 * 100 = 10200

Quando chega à 999

                            999 * 100= 99900
                            999 * 101= 99909
até chegar           999 * 999= 998001          e depois disso encontrar o maior número capicua resultante dos produtos.

Compreendi essa ordem:

"Código para todos os produtos de 100 até 999 ... e código para depois ... encontrar o maior número capicua"

 

Vai te que usar vetores aqui. E para organizar melhor esse código, é bom também uma função que determina dos valores em um vetor numérico o seu maior elemento capicua.

Link para o comentário
Compartilhar em outros sites

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