Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
Voir le deal

Comment vérifier si un nombre est de la forme 3 puissance N

2 participants

Aller en bas

Comment vérifier si un nombre est de la forme 3 puissance N Empty Comment vérifier si un nombre est de la forme 3 puissance N

Message par informix Lun 19 Mar - 15:51

Bonjour à tous,
Je me suis planté Embarassed dans la résolution d'un exercice qui peut compter comme Contrôle Continu. L'énoncé est le suivant:

Ecrire un module (programme ou sous-programme) PASACL qui permet de tester si un nombre peut se mettre sous forme de 3^N (càd 3 puissance N)... par exemple: 243 = 3^5, 27 = 3^3 etc...

merci d'avance.
informiX.
informix
informix
Nombre Rationnel
Nombre Rationnel

Nombre de messages : 399
Réputation : 4
Points : 6526
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Comment vérifier si un nombre est de la forme 3 puissance N Left_bar_bleue1000/1000Comment vérifier si un nombre est de la forme 3 puissance N Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

Comment vérifier si un nombre est de la forme 3 puissance N Empty indication n°1 (X est-il de la forme 3^N)

Message par Napoléon Lun 19 Mar - 16:57

Salut,

C'est un bon exercice pour mieux maitriser la structure REPEAT...UNTIL...
L'idée est de diviser successivement le nombre X par 3, jusqu'à ce que le dividende soit égal à 1 ou bien que le reste (mod) soit différent de 0.

Exemple n°1
243 div 3 = 81 et 243 mod 3 = 0
81 div 3 = 27 et 81 mod 3 = 0
27 div 3 = 9 et 27 mod 3 = 0
9 div 3 = 3 et 9 mod 3 = 0
3 div 3 = 1 et 3 mod 3 = 0 donc STOP

Exemple n°2
40 / 3 = 13 et 40 mod 3 = 1, donc STOP

A vous de profiter de cette indication. Si vous trouvez encore des difficultés, on vous donnera la solution.

B.Nabil
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7872
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Comment vérifier si un nombre est de la forme 3 puissance N Left_bar_bleue999/1000Comment vérifier si un nombre est de la forme 3 puissance N Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Comment vérifier si un nombre est de la forme 3 puissance N Empty Essai...

Message par informix Lun 19 Mar - 19:14

Salut,

J'ai essayé le code suivant:

begin
write('X = ');
read(X);
Repeat
Y := X div 3;
Until (Y = 1 OR Y mod 3<>0);
if (Y = 1) then
write(X,' sous forme 3^N')
else
write(X,' n''est pas de la forme 3^N');
end.



mais ça plante le PC affraid

informiX Question Exclamation
informix
informix
Nombre Rationnel
Nombre Rationnel

Nombre de messages : 399
Réputation : 4
Points : 6526
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Comment vérifier si un nombre est de la forme 3 puissance N Left_bar_bleue1000/1000Comment vérifier si un nombre est de la forme 3 puissance N Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

Comment vérifier si un nombre est de la forme 3 puissance N Empty Re: Comment vérifier si un nombre est de la forme 3 puissance N

Message par Napoléon Lun 19 Mar - 20:41

informix a écrit:Bonjour à tous,
Je me suis planté Embarassed dans la résolution d'un exercice qui peut compter comme Contrôle Continu. L'énoncé est le suivant:

Ecrire un module (programme ou sous-programme) PASACL qui permet de tester si un nombre peut se mettre sous forme de 3^N (càd 3 puissance N)... par exemple: 243 = 3^5, 27 = 3^3 etc...

merci d'avance.
informiX.

Salut,

Une réponse possible au problème est la suivante:

B.Nabil a écrit:
USES wincrt;
VAR X,dividende,reste: integer;
BEGIN
Write('X = '); Readln(X);
dividende:=X;
REPEAT
reste := dividende mod 3;
dividende := dividende div 3;
UNTIL ((dividende=1) or (reste<>0));
IF (dividende = 1) then write('VRAI') else write('FAUX');
END.

Je vous propose une extension plus difficile du problème posé par informix, à vous de résoudre:
B.Nabil a écrit:
Ecrire un nombre X sous forme de produits de nombres premiers:
Exemple: 60 = 2x2x3x5 = 2^2 x 3 x 5, ou aussi 3072 = 2^10 x 3

B.Nabil
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7872
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Comment vérifier si un nombre est de la forme 3 puissance N Left_bar_bleue999/1000Comment vérifier si un nombre est de la forme 3 puissance N Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Comment vérifier si un nombre est de la forme 3 puissance N Empty Re: Comment vérifier si un nombre est de la forme 3 puissance N

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum