Bonjours pour un devoir je doit faire un algo sur les nombres amies. j'ai déja fait cela mais l'algo ne se termine jamais .je suppose un probleme dans les boucle if ou dans le "ou logique" des idées?
#include <stdio.h>
int main(void)
{
int a=0 ,i, b=0 , j=0 ,k=0 ;
printf("entrer un nombre");
scanf("%d" ,&a );
printf("entrer l'autre'");
scanf("%d", &b);
for ( i=0 ; i<=b/2 ; i++ )
{
if (b%i==0) j+=i ;
}
for (i=0 ; i<a/2 ; i++)
{
if (a%i==0) k+=i ;
}
if(k==b || j==a) printf("a et b sont des nombres amis");
else printf("a et b ne sont pas des nombres amis");
return 0;
}
Primo, indente correctement ton code. Pas uniquement pour toi, mais pour qu'il soit plus lisible par les autres. Là par exemple j'ai beaucoup de mal à voir ou se terminent tes if et tes for.
Deuzio :
int main(void)
n'est pas une écriture du main correcte. C'est souvent une source d'erreurs. Essaie plutôt
int main(int argc, char *argv[]);
Et tertio :
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned int a=0, b=0, i=0, j=0, k=0;
printf("Entrez 2 nombres : ");
scanf("%d%d", &a, &b);
//↓ J'initialise: i=1 pour ne pas diviser par zéro ↓
for(i=1 ; i<=b/2 ; i++)
if(b%i == 0)
j+=i;
for(i=1 ; i<a/2 ; i++)
if(a%i == 0)
k+=i;
if(k==b || j==a)
printf("a et b sont des nombres amis.\n");
else
printf("a et b ne sont pas des nombres amis.\n");
return EXIT_SUCCESS;
}
algo nombre amie qui ne retourne rien
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.