Maura De Lima 0 Denunciar post Postado Maio 25, 2018 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; } Compartilhar este post Link para o post Compartilhar em outros sites
Ambrosi 3 Denunciar post Postado Maio 31, 2018 @Maura De Lima, colei o teu código aqui (sem qualquer edição) e ele rodou corretamente. Entrei com o intervalo de 1 a 17 e printou 4, 9 e 16. Tu obtém algum erro ou ele não printa nada? Compartilhar este post Link para o post Compartilhar em outros sites