Bom dia a todos.
Fiz um algorítimo aqui é não esta aparecendo no printf quando é perfeito e quando não é, alguém pode me ajudar?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//Determinar os quadrados perfeitos pertencentes a um determinado intervalo de inteiros [a, b], com a< b.
//Exemplos de quadrados perfeitos: 4, 9, 16, 25, 36, 49, ...
int main() {
int a, b, i;
double resto;
//Primeiro item do intervalo
printf("A: ");
scanf("%d", &a);
//Segundo item do intervalo
printf("B: ");
scanf("%d", &b);
// Laço para pegar os numeros entre o valor a e o b
for (i = a + 1; i < b; i++)
{
//tirando a raiz quadrada de um numero
resto = sqrt(i);
/*
FMOD pegar o resto de um numero double.
Se o resultado da raiz quadrada tiver resto 0,
ele é um quadrado perfeito. È dividido por um para
manter seu valor original.
*/
if(fmod(resto, 1) == 0) {
/*Imprimindo todos os numeros que são quadrados perfeitos
dentro do intervalo pedido.
*/
printf("%d\n", i);
}
}
return 0;
}