/* Autor: thiagoamm Data: 29/09/2005 */ /* Headers files */ #include #include /* Início mp */ int main(void) { /* Função do número quadrado perfeito */ int qp(int n) { int y; y = sqrt(n); if(pow(y,2) == n) return(1); /* V */ else return(0); /* F */ } /* Função do número capicúa */ int capicua(int n) { int aux,soma; aux = n; soma = 0; while(aux != 0) { soma = soma * 10 + (aux % 10); aux = aux / 10; } if(soma == n) return(1); /* V */ else return(0); /* F */ } int num,option; printf("\n #########################################################################"); printf("\n Opcoes: \n"); printf("\n 1 --> Verificar se um numero e quadrado perfeito e capicua ao mesmo tempo. \n"); printf("\n 2 --> Verificar se e quadrado perfeito. \n"); printf("\n 3 --> Verificar se e capicua. \n"); printf("\n ----> Informe a opcao: "); scanf("%d",&option); printf("\n #########################################################################"); for(num = 1; num <= 300; num++) { switch(option) { case 1: if(qp(num) && capicua(num)) printf("\n %d e qp e capicua \n",num); break; case 2: if(qp(num)) printf("\n %d e qp \n",num); break; case 3: if(capicua(num)) printf("\n %d e capicua \n",num); break; } } printf("\n #########################################################################"); printf("\n"); return(0); } /* Fim mp */