Programme c++

luluche Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
luluche Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je doit ecrir un programme c qui détérmine parmis les 100 premiers nombres entiers ceux qui sont parfait
ps :un nombre parfait est égale a la somme de ces diviseurs exemple le 6 6=1+2+3
merci d'avance :D

1 réponse

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
Poste ta réponse qu'on puisse te corriger ;-))).
Cdlt
0
luluche Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
c'est quoi cdlt ?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > luluche Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Cdlt = Cordialement = formule de politesse.

Sinon, je suis désolé, mais sur ce forum, personne ne te donnera la réponse car c'est contraire à la charte ;-))).
Commence donc par faire le début et nous le montrer qu'on puisse t'aider.
0
luluche Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
merci pour l'explication :)
alor je vais essayer de faire le début.alors (k) c'est les 100 premiers nombres entiers ,(s) la somme des diviseurs,(b) un nombre < ou = a (k) .
#include<stdio.h>
void main()
{
int i,k,b;
char s;
k=100;i=1;
while(i<=k)
{
printf("entrer une valeur");scanf("%d",&b);
if(b=='s')
{
printf("b est un nombre parfait");
}
}
}
je sais que c'est faux mais g essayer
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > luluche Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
je sais que c'est faux mais g essayer
C'est tout ce qu'on demande ;-))).

Dans ton programme, il ne faut pas utiliser de scanf() puisque c'est ton programme qui doit trouver les nombres parfaits.

Je te donne la structure, et te laisse écrire la fonction importante :
#include <stdio.h>

int isParfait(int nb) {
    //à toi de coder ...
    //la fonction renverra 1 si la somme de ces diviseurs stricts vaut le nombre lui-même *et* que celui-ci est strictement supérieur à 1, 
    //sinon la fonction renverra 0.
}

int main(void) { //et non void main()
    int nb;
    //boucle sur les 100 premiers
    for(nb=0;nb<100;nb++) {
          //si nb est un nombre parfait (si isParfait(nb) renvoie un nombre non nul)
          if( isParfait(nb) ) 
               //on affiche le nombre parfait
               printf("%d est un nombre parfait\n", nb);
    }

     return 0;
}


0
luluche Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
merci
0