Space-G

capicua

May 30th, 2018
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. int retornar_digito(int numero, int n){ //trata o inteiro como se fosse uma string e retorna o dígito da posição n (lido da direita para a esquerda
  2.     return(numero/(pow(10,n)));
  3. }
  4.  
  5. bool checar_capicua(int numero){
  6.     bool eh_capicua=true;
  7.     int tamanho=0;
  8.     int x=numero;
  9.     while (x>10){ //define quantos dígitos o número tem
  10.         tamanho++;
  11.         x=x/10;
  12.     }
  13.     int i=0;
  14.     while ((i<(tamanho/2)) && eh_capicua){ //isso aqui percorre, simultaneamente, o número da esquerda para a direita e vice-e-versa, checando se são iguais. Se não são, eh_capicua=false
  15.         if (not(retornar_digito(numero, i)==retornar_digito(numero, (tamanho-i)))){
  16.             eh_capicua=false;
  17.         }
  18.         i++;
  19.     }
  20.     return eh_capicua;
  21. }
Add Comment
Please, Sign In to add comment