Language c (multiplication de deux nombre)

ghani-206 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
yac3133 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   - 2 févr. 2012 à 14:17
bonjour ,

je besoin UN COUP DE MAIN
programme qui multiplie les deux entiers positifs a et b selon le principe récursif suivant:
A*b=a*(b-1)+a si b est impaire
A*b=(2*a)*(b/2) si b est paire et différent de 0

exemple
36*7=36*6+36
. =72*3+36
. =72*2+108
. =144*1+108
. =144*0+252
. =252


merci d'avance ,

A voir également:

3 réponses

yac3133 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour,
Si tu as un pb dans le langage c(si g bien compris ton pb), donc voila le code source EN C:

# include <stdio.h>
# include <stdlib.h>


int P; int A,B;// DECLARATION GLOBAL

int produit(int A, int B) //fonction du recursivité
{

if(B>0)
{
if( (B % 2) == 0) // % =mod
P=produit (2*A,B/2);
else
P=produit (A,B-1)+A;
}
return P;
}


int main()
{
int Pr;
printf("Donner la valeur de A :"); scanf("%d",&A);
printf("Donner la valeur de B :"); scanf("%d",&B);

Pr= produit (A,B);
printf("le produit de A, B = %d \n", Pr);
system("pause");
return 0;
}
3
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 845
 
Il n'y a aucun intérêt à déclarer les variables globales dans votre exemple.
Il vaut mieux éviter autant que possible l'utilisation de globale.
0