begin process at 2012 05 30 17:34:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

somme des diviseurs propres d'entier amis.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

somme des diviseurs propres d'entier amis.

jeudi 4 mars 2010 à 18:50:18 | somme des diviseurs propres d'entier amis.

hazertyck

Bonjour, je suis etudiant en première année d'informatique à la fac. J'ai ici un exercice de tp en C dont l'énoncé est le suivant et où mon code est buggé :

deux nombres entier positifs sont dits amis si la chacun est égal à la somme des deviseurs propres de l'autre plus un.

(il y as un exemple avec 220 et 284 où les diviseurs propres de 220 sont 2,4,5,10,11,20,22,44,55,110 et ceux de 284 sont 2,4,71,142 )

Il me faut écrire une fonction C (int sommeDiviseursPropres(int n) qui calcule la somme des diviseurs d'un entier n, et une fonction int ami( int a, int b) qui renvoie 1 si a et b sont amis, sinon qui renvoi 0.
enfin, je doit faire une fontion principale (main) qui permette de tester l'ensemble.
j'ai écrit ce code :

#include <stdio.h>
#include <stdlib.h>
#include "..\lecture.h"

int sommeDiviseursPropres(int n)
{
int a,i;
a=0;
for (i=2 ; i<n ; i++){
if (n%i==0)
a+=i;
}
return a;
}

int ami(int a, int b)
{
if (b==sommeDiviseursPropres(a) && a==sommeDiviseursPropres(b))
return 1;
else
return 0;
}

int main()
{
int a,b;
a=lire_entier();
b=lire_entier();
if ami(a,b)==1
printf("%d et %d sont bien amis \n" a,b);
else
printf("%d et %d ne sont pas amis \n" a,b);
return 0;
}


et le débuggeur me dit :
In function 'main' :
line 29 error : syntax error before "ami"

la ligne 29 est celle où j'apelle ami, j'ai mis :
if ami(a,b)==1

quelle erreure de syntaxe ai-je fait ?


'avance je vous remercie de votre aide.
jeudi 4 mars 2010 à 22:27:08 | Re : somme des diviseurs propres d'entier amis.

hazertyck

bon bah j'ai trouvé ce qui n'allais pas en fait , donc voici ma main :

int main()
{
int a,b;
a=lire_entier();
b=lire_entier();
if ((ami(a,b))==1)
printf("%d et %d sont bien amis \n",a,b);
else
printf("%d et %d ne sont pas amis \n",a,b);
return 0;
}


Cette discussion est classée dans : int, entier, somme, amis, ami


Répondre à ce message

Sujets en rapport avec ce message

warning> procédures externes.. [ par xkindool ] Bonjour, mon programme fonctionne mais lors de la compilation j'ai des warnings que j'aimerais débugger..Voici le message d'erreur à la compilation :[ demande de lire un entier (int) c++ [ par simosif ] bonjour, dans un programme c++, je veux obliger l'utilisateur à entrer un entier.tant que il n'a pas entrer un entier, on lui affiche un message et n threads et semaphores [ par liliefr2000 ] bonjour J'ai un probleme,je souhaite a l'aide de deux threads calculer la somme des entiers contenu dans un tableau..pour cela le premier thread va co Mais Pkoi un erreur ?! [ par Orezza ] OrezzaBonjour voila encore une de mes sources Bidon, je le sais je debute mais pkoi mon compilateur indique une erreur je ne vois vraiment pas.je vous conversion string -> entier [ par Sat83 ] Bonjour!J'ai un petit probleme, je debute en C++...J'aimerais savoir comment passer d'une chaine qui contient un entier a un entierje m'explique par e inserer un entier dans un tableau de int [ par clcat ] salut la compagnie j ai un ptit probleme(visual C++)j ai un tableau de string :   string TAB[10];et j ai un entier, p=3 par exemple la valeur de p n'e Nombres amis [ par Darksnakes ] Bonjour tout le monde,Voila je débute en C, et pour un tp j'ai besoin de faire un programme qui m'affiche la liste des nombres amis inférieur ou égale tableau d'entier. [ par gdpasmini ] Hello !j'ai un petit soucis avec une fonction qui renvoi un tableau en parametre... voila les details :Dans mes fonctions : int * boutonDecodFlux(void convertion char* en int [ par sampq ] Je recupere à partir d'une requete sql un char* que je veux utiliser par la suite dans une boucle for de mon programme, mais la il faudrait que ça soi déclaration d'un pointeur sur un entier [ par iam_myst ] bonjour à tous j'aimerais savoir s'il est possbile de faire ceci:      int *tabcle = new int[56], *final = new int[48]; personellement ca me prov


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales