Ir para conteúdo
Fórum Script Brasil
  • 0

erro de lógica :closedeyes:


miiiiiiiiiiia

Pergunta

Boa noite , prezados

Estou tentando fazer um programa que informe se o número é perfeito ou não ; Porém... Quando eu digito números perfeitos ele aparece como falso ;

qual seria o erro disso?

Obrigada

#include <iostream>
using namespace std;





bool perfeito (int  v ) {

int i, acum=0;

for (i = 0; i <= v / 2; i ++) {

if ( v % i == 0 ) {



acum = acum + i;

}

if ( acum ==  v ) {
return  true;


}else {



return false ;




}



}


}










int  main () {
int v;


cout << " Informe valor . . . ";
cin  >> v;


if ( perfeito (v) == true ) {




cout << " Verdadeiro ";
}else {





cout <<" Falso ";






}


return 0;

}

Editado por miiiiiiiiiiia
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...