Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

algorithme

Posté par
ocerock
02-12-12 à 19:27

bonjour voici l'énoncé de l'exercice qui me pose problème :

Ecrire un algorithme permettant de déterminer a partir de quelle valeur de n,  2^n est supérieur à 10^99 .

Je ne sais pas du tout comment m'y prendre

merci d'avance pour votre aide

Posté par
mathafou Moderateur
re : algorithme 02-12-12 à 19:36

Bonjour,

avec une boucle "tant que" dans laquelle tu augmentes n de 1 à chaque fois, et dans laquelle tu calcules et compare 2^n et 10^99 ?

quelque chose du genre :
tant que 2^n < 10^99
etc ... (avec de la chair autour)

Posté par
ocerock
re : algorithme 02-12-12 à 20:00

j'ai fait :

a du type nombre
n du type nombre
b du type nombre

début de l'algorithme

lire a
lire n
b prend la valeur a^n  ( en langage algobox bien sûr : pow(a,n)
tant que b<10^99
n prend la valeur n+1
fin tant que  
afficher n

fin de l'algorithme


mais ca marque : interrompu ligne 12 : dépassement de la capacité autorisée pour les boucles***


qu'es ce qui ne va pas ?

Posté par
mathafou Moderateur
re : algorithme 02-12-12 à 20:05

forcément
ta condition dans le tant que ne varie jamais !
b est calculé une fois au début, puis on entre dans la boucle qui fait varier n (mais c'est trop tard n ne sert plus)

donc ton "tant que" il dure indéfiniment !

(c'était ça que j'avais écrit moi, un tant que avec un "b" ??)

Posté par
ocerock
re : algorithme 02-12-12 à 20:20

Oui je suis allée trop vite et je n'ai pas réfléchi

j'ai fait

Variable

n du type nombre

Début Algo

lire n

Tant que 2^n<10^99 alors
n prend la valeur n+1
fin tant que

afficher n

fin algo



je trouve 329 ca a l'air d'être ca.. est ce que c'est bon ?

Posté par
mathafou Moderateur
re : algorithme 02-12-12 à 20:58

Oui, tu peux vérifier avec une calculette ordinaire

Ceci dit ton "lire n" du début est de peu d'utilité !!
il permet juste de commencer la recherche de n "à partir" du n saisi.

Remplacer ce "lire n" par un simple "n prend la valeur 1" fait exactement pareil au final (vu la taille du résultat) sauf si tu as l'idée saugrenue de mettre 500 par exemple comme réponse à la question "valeur de n ?" du lire n
parce qu'alors dès le départ le tant que sera sauté, et il te répondra 500 au lieu de la bonne valeur.

les "lire" dans cet algo seraient pour répondre au choix à diverses questions du genre :

Citation :
étant donnés a, b et m trouver le plus petit n tel que a^n > b^m
avec a, b, m autres que 2, 10 et 99
si a, b et m sont "fixes et immuables", ton algorithme n'a rien à "lire" du tout.

ici on pourait faire des lire a, lire b, lire m, et une boucle avec :
tant que a^n < b^m

dans laquelle seul n varie dans le tant que, et a, b, et m étant des "paramètres" du problème
le problème d'origine étant en répondant 2, 10 et 99 aux questions
valeur de a ? 2
valeur de b ? 10
valeur de m ? 99

et l'algo se débrouille pour n puisque c'est justement n qu'on cherche. En demander la valeur au départ fait un peu sot... vu d'un utilisateur

Posté par
ocerock
re : algorithme 02-12-12 à 21:43

ok je vais donc remplacer lire n par " n prend la valeur 1"

merci beaucoup de m'avoir aidé

bonne soirée !



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1741 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !