exercices algorithme ns7598

2
 Exercices d’algorithmique 1 Suite de Fibonacci La suite de Fibonacci est enie pa r :  f 1  = 1,  f 2  = 1 et  f n+2  =  f n+1  + f n . Q 1.1  ´ Ecrire un programme calculant le n-i` eme nombre de la suite. Q 1.2  R´ e´ ech ir `a une et ho de di ´ ere nte. 2 Nombres binaires Soit  a  et  b  deux entiers (avec  b   = 0), la division euclidienne de  a  par  b  est l’unique paire d’entiers (q, r) telle que  a =  b  ∗ q  + r  et  r < b. Q 2.1  ´ Ecrire la fonction calculant la division euclidienne de deux entiers. La repr´ esentati on d’un entier  a  en base 2 est une suite d’entiers  a 0 a 1 a 2  ...a n  telle que – pour tout 0 i n,  a i  < 2 et  a = 0in a i  ∗ 2 i . Q 2.2  ´ Ecrire la fonction traduisant un nombre binaire en no mbre d´ ecimal puis l’inve rse. Q 2.3  Programmer une fonction faisant la somme de deux nombres binaires. 3 Ma xi mum et T ri On supp ose donn´ e un tableau d’entiers de ta ille 2 n (pour un certain  n) dont on cherche les pl us gr ands ´ el´ ements. Q 3.1  ´ Ecrire la fonction calculant le maximum (ou l’indice du maximum) du tableau. Q 3.2  Comment calculer le maximum puis le 2` eme plus grand entier ? Q 3.3  ´ Ecrire une f onctio n renvoyant un table au tri´ e. On cherche maintenant `a savoir si un entier  x  est pr´ esent dans le tablea u. Q 3.4  Prop oser des fonct ions dans le cas g´ en´ eral. Q 3.5  Si le tableau est tri´ e, existe-t-il une m´ ethode plus ecace ? Est-t-il int´ eressant de trier un ta bleau au p ealabl e ? 1

Upload: elpresidente4281

Post on 04-Oct-2015

214 views

Category:

Documents


0 download

DESCRIPTION

Série d'exercices d'algorithme

TRANSCRIPT

  • Exercices dalgorithmique

    1 Suite de Fibonacci

    La suite de Fibonacci est definie par : f1 = 1, f2 = 1 et fn+2 = fn+1 + fn.

    Q 1.1 Ecrire un programme calculant le n-ie`me nombre de la suite.

    Q 1.2 Reflechir a` une methode differente.

    2 Nombres binaires

    Soit a et b deux entiers (avec b 6= 0), la division euclidienne de a par b est lunique pairedentiers (q, r) telle que

    a = b q + r et r < b.

    Q 2.1 Ecrire la fonction calculant la division euclidienne de deux entiers.

    La representation dun entier a en base 2 est une suite dentiers a0a1a2 . . . an telle que pour tout 0 6 i 6 n, ai < 2 et a =

    06i6n

    ai 2i.

    Q 2.2 Ecrire la fonction traduisant un nombre binaire en nombre decimal puis linverse.

    Q 2.3 Programmer une fonction faisant la somme de deux nombres binaires.

    3 Maximum et Tri

    On suppose donne un tableau dentiers de taille 2n (pour un certain n) dont on cherche lesplus grands elements.

    Q 3.1 Ecrire la fonction calculant le maximum (ou lindice du maximum) du tableau.

    Q 3.2 Comment calculer le maximum puis le 2e`me plus grand entier ?

    Q 3.3 Ecrire une fonction renvoyant un tableau trie.

    On cherche maintenant a` savoir si un entier x est present dans le tableau.

    Q 3.4 Proposer des fonctions dans le cas general.

    Q 3.5 Si le tableau est trie, existe-t-il une methode plus efficace ? Est-t-il interessant de trierun tableau au prealable ?

    1

  • 4 Sac a` dos

    On suppose quune maison contient n objets numerotes de 1 a` n. Chaque objet i pe`se pikilos et vaut vi euros.

    Un voleur, equipe dun sac pouvant contenir C kilos, cherche a` maximiser son profit enderobant les objets.

    Q 4.1 Sil est possible de fractionner les objets, quel est lalgorithme qui permet au voleurdoptimiser son profit ?

    Q 4.2 Proposer un algorithme dans le cas ou` les objets sont indivisibles. Est-il optimal ?

    5 Mariage stable

    Dans ce proble`me, on cherche a` marier n hommes avec n femmes. Chaque homme (respec-tivement chaque femme) posse`de une liste de preference qui ordonnent totalement les femmes(respectivement les hommes). Un mariage est stable sil nexiste pas une femme f et un hommeh tels que f prefe`re h a` son mari et h prefe`re f a` sa femme.

    Q 5.1 Comment representer le proble`me ?

    Q 5.2 Proposer un algorithme permettant dobtenir un mariage stable.

    6 Station Essence

    Un automobiliste desire aller dune ville A a` une ville B par une route comportant n stationsservices. Un tableau contient les distances entre chaque station (les points de depart et darrivee).Un plein permet a` lautomobiliste de parcourir r kilome`tres.

    Q 6.1 Donner une condition sur les distances pour que le trajet soit realisable. On la supposerealisee dans la suite.

    Q 6.2 Dans quelles stations lautomobiliste doit-il sarreter pour faire le moins darret possible.

    On dispose maintenant des prix au litre de chaque station. La voiture consomme un litredessence par kilome`tre et part avec un reservoir vide (il y a une station dans la ville A).

    Q 6.3 Dans quelles stations doit-il sarreter pour depenser le moins dargent ?

    2

    Suite de FibonacciNombres binairesMaximum et TriSac dosMariage stableStation Essence