Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

br2n0

Troca de algorismos em c

Recommended Posts

Ola, tenho que escreva todos os pares de números de dois algorismos que apresentam a seguinte propriedade: o produto dos números não se altera se os dígitos são invertidos. Ex.: 93x13=39x31=1209, 69x32=96x23=2208.

esse é meu código:

 

#include <stdio.h>
#include <stdlib.h>
main()
{
     int a,b,c,d,f,g;

     for(a=1;a!=9;a++)
     {
          for(b=1;b!=9;b++);
          {
               for(c=1;c!=9;c++)
               {
                     for(d=1;d!=9;d++)
                     {
                             f= (10*a+B)*(10*c+d);
                             g= (10*b+a)*(10*d+c);
                             if(f==g) 
                             printf("%i e %i\n",(10*a+B),(10*c+d));  
                     }
                }



          }


     }
     system("pause");
}

 

o problema é q não esta mostrando todos os pares de números gostaria que min ajudassem a resolver esse bug ou ate dar uma dica de como fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preste atenção nas condições dos loops. Já de cara o par (93,13) não vai executar, porque a == 9.

 

#include <stdio.h>
#include <math.h>
int main(void) {
int a,b,c,d;
int numero_1, numero_2;
int numero_1_inv, numero_2_inv;

for(a=1; a<10; a++) {
   	for(b=0; b<10; b++) {
       	for(c=1; c<10; c++) {
           	for(d=0; d<10; d++) {
               	numero_1 = a*10 + b;
               	numero_1_inv = b*10 + a;
               	numero_2 = c*10 + d;
               	numero_2_inv = d*10 + c;

               	// Verifica quantos dígitos o número tem.
               	// Filtra casos como a=1 e b=0 (numero_1_inv = 1).
               	if ((int)ceil(log10(numero_1_inv)) == 2 && (int)ceil(log10(numero_2_inv)) == 2) {
                   	if (numero_1 * numero_2 == numero_1_inv * numero_2_inv)
                       	printf("(%d,%d)\n",numero_1,numero_2);
               	}
           	}
       	}
   	}
}
return 0;
}

 

Isso atende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.