Multiplication successive de puissance en C..
Résolu
sikim69
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
sikim69 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
sikim69 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde.
Voilà, depuis hier je me prend la tete sur un programme sur lequel je ne trouve aucunes solutions.
L'ennoncé est pourtant clair :
Calculer par multiplications successives la puissance N d'un nombre X. N et X sont entrés au
clavier et doivent être positifs.
Voilà comment j'essaye de faire moi
#include<stdio.h>
#include<math.h>
#include<conio-bis.h>
int main ()
{
int N,i,ok;
int X, puissance=0;
printf("Entrez la base de la puissance : ");
scanf("%d",&X);
printf("\nEntrez l'exposant de la puissance : ");
scanf("%d",&N);
do
{
ok=0;
if ((X<0)||(N<0))
{
ok=1;
}
} while (ok==1);
for (i=0;i<=N+1;i++)
{
puissance=pow(X,1)*pow(X,N--);
getch();
printf("%d\n",puissance);
}
printf("\nLe resultat est de %d\n",puissance);
getch(); getch();
return 0;
}
Premiere partie du programme, je verifie si les nombres entrées sont positifs.
Apres j'essaye de trouver une formule pour que je puisse faire une multiplication successive du genre 2^3 * 2^2 * 2^1 = 64. Mais depuis deux jours aucunes formules ne marche..
Qui pourrait essayer de m'aider ? Essayer le programme là sur son pc et me dire qu'est ce qui cloche, qu'est ce qui ne va pas ?
Bonne soirée à tous !
Voilà, depuis hier je me prend la tete sur un programme sur lequel je ne trouve aucunes solutions.
L'ennoncé est pourtant clair :
Calculer par multiplications successives la puissance N d'un nombre X. N et X sont entrés au
clavier et doivent être positifs.
Voilà comment j'essaye de faire moi
#include<stdio.h>
#include<math.h>
#include<conio-bis.h>
int main ()
{
int N,i,ok;
int X, puissance=0;
printf("Entrez la base de la puissance : ");
scanf("%d",&X);
printf("\nEntrez l'exposant de la puissance : ");
scanf("%d",&N);
do
{
ok=0;
if ((X<0)||(N<0))
{
ok=1;
}
} while (ok==1);
for (i=0;i<=N+1;i++)
{
puissance=pow(X,1)*pow(X,N--);
getch();
printf("%d\n",puissance);
}
printf("\nLe resultat est de %d\n",puissance);
getch(); getch();
return 0;
}
Premiere partie du programme, je verifie si les nombres entrées sont positifs.
Apres j'essaye de trouver une formule pour que je puisse faire une multiplication successive du genre 2^3 * 2^2 * 2^1 = 64. Mais depuis deux jours aucunes formules ne marche..
Qui pourrait essayer de m'aider ? Essayer le programme là sur son pc et me dire qu'est ce qui cloche, qu'est ce qui ne va pas ?
Bonne soirée à tous !
A voir également:
- Écrire un programme qui calcule une multiplication par additions successives python
- Ecrire en gras sur whatsapp - Guide
- Citizen code python avis - Accueil - Outils
- Programme demarrage windows - Guide
- Comment écrire # sur pc - Guide
- Ce programme est écrit en python ✓ - Forum Python
2 réponses
if ((X<0)||(N<0))
Je me trompe peut-être .. je lis : SI ((X est plus petit que 0) OU (N est plus petit que 0)) .. dans ce cas "OK" est égal à 1
Et ensuite tu dis "TANT QUE (OK est égal à 1)
?? C'est normal
Je me trompe peut-être .. je lis : SI ((X est plus petit que 0) OU (N est plus petit que 0)) .. dans ce cas "OK" est égal à 1
Et ensuite tu dis "TANT QUE (OK est égal à 1)
?? C'est normal
sikim69
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
1
Cela veut dire que si ok = 1 on ne sort pas de la boucle et on reste dedans.. ^^