Ir para o conteúdo
Dioguex

Projecto em C: Verificar se número é bipolar

Mensagens Recomendadas

Dioguex

Boa tarde a todos,

Tenho que desenvolver um projecto para uma disciplina. Entre muitas outras coisas, o projecto exige que o utilizador introduz um número, por exemplo 251 e o programa tem que calcular os múltiplos de 251 até encontra um múltiplo que seja bipolar, neste caso é 5522. Um número bipolar, neste caso, é um número que apenas contenha 2 dígitos diferentes e que estejam seguidos, se fosse 5252 já não era bipolar.

Neste momento o código que tenho é o seguinte:

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

void verificar_multiplos(int x);
int verificar_bipolar(long bip);

int main(int argc, char *argv[]) {
   int num = 0;
   printf("Introduza um número: ");
   fflush(stdout);
   scanf("%d", &num);
   verificar_multiplos(num);
   return 0;
}

void verificar_multiplos(int x) {
   int i = 1;
   unsigned long long num = x, resu = 0;
   if (num <= 0) {
       printf("Introduza um número maior que 0\n");
   } else {
       do {
           resu = num * i;
           i++;
           printf("%I64d\n", resu);
       } while (verificar_bipolar(resu) != 0);
   }
}

int verificar_bipolar(long bip) {
   int resu=0;
   while (bip>0){
       resu=bip%10;
       printf ("%d\n",resu);
       bip=bip/10;
   }
   return bip;
}

Ou seja, o programa está a calcular os múltiplos, e a separa os dígitos para poder verificar se são iguais, o problema é que já dei voltas e voltas e não consigo fazer com que o programa identifique se é bipolar, mesmo na minha cabeça não sei como fazer para escrever o código.

Podem ajudar, por favor?

Obrigado.

Editado por Dioguex

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31
Enquanto o número tiver dígitos, fazer:
  Obter um novo dígito para "dig"
  Se dig = temp Então
     Prosseguir
  Senão
     temp <- dig
     conta += 1
     Se conta > 2 Então
        Devolver FALSO
  Fim Se
Fim Enquanto

Se conta = 2 Então
  Devolver VERDADEIRO
Senão
  Devolver FALSO


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.