C:nombre ayant nombre impair de diviseurs
Résolu/Fermé3 réponses
#include<stdio.h>
#include<stdlib.h>
main()
{
int i=1,s,j;
for(i=1;i<=100;i++)
s=0;
{ for(j=1;j<=i;j++)
{
if(i%j==0)
{
s=s+1;
}
}
if(s%2!=0)
printf("%d\n",i);
}
system("pause");
}
comme ça??TT^TT
#include<stdlib.h>
main()
{
int i=1,s,j;
for(i=1;i<=100;i++)
s=0;
{ for(j=1;j<=i;j++)
{
if(i%j==0)
{
s=s+1;
}
}
if(s%2!=0)
printf("%d\n",i);
}
system("pause");
}
comme ça??TT^TT
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
17 sept. 2011 à 06:25
17 sept. 2011 à 06:25
Il faudrait que tu réinitialises ton nombre de diviseurs avant chaque nouveau calcul.
Sinon il existe des méthodes pour raccourcir le temps d'exécution du programme (en s'arrêtant à j<=sqrt(i)) mais le principe est là.
Remarque : les nombres trouvés ont une propriété intéressante ;-)
Sinon il existe des méthodes pour raccourcir le temps d'exécution du programme (en s'arrêtant à j<=sqrt(i)) mais le principe est là.
Remarque : les nombres trouvés ont une propriété intéressante ;-)
17 sept. 2011 à 06:43
Et tu ne rentres dans la boucle j qu'une seule fois avec i=100, ce qui est embêtant ^^