équivalence des sauts

Forum consacré aux questions ouvertes, astuces logiques et mathématiques ainsi qu'aux énigmes que vous connaissez....

équivalence des sauts

Messagepar sc le 15 Nov 2009, 21:54

Un chat et un lapin font une course, au départ le lapin a 9 sauts d'avance sur le chat .
Sachant que 7 sauts du chat égalent 11 sauts du lapin et que pendant que le chat fait 4 sauts, le lapin en fait 6, en combien de sauts le chat rattrape-t-il le lapin ?


(NB, on encadrera sa réponse par la commande suivante, pour qu'elle reste temporairement cachée pour les autres..)
Code: Tout sélectionner
[spoilertempo=1258842327] Ma réponse [/spoilertempo]
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Re: équivalence des sauts

Messagepar -Theo- le 23 Nov 2009, 21:32

Alors, en fait, j'ai pas mal ramé (surtout parce que j'ai eu la folie de vouloir résoudre ça par prog).
Mais voilà le code que je propose pour résoudre l'énigme :

Code: Tout sélectionner
{
  long sautchat = 0;
  double sautlapin = 5.72727;
 
  while (sautlapin>sautchat)
  {sautchat=sautchat+1;
  sautlapin=sautlapin+0.954545;
  printf("sautlapin=%f\nsautchat=%d\n", sautlapin, sautchat);
  }
 
  printf("Il lui faut %d sauts.\n", sautchat);
 
  system("PAUSE");   
  return 0;
}


J'ai des problèmes avec les écritures sous forme de fractions, donc j'ai préféré mettre des valeurs approchées. Je ne sais pas si ça change quelque chose au niveau du résultat, en terme de nombre de sauts, mais je ne crois pas : j'ai trouvé la même chose avec deux suites définies par récurrence sur calculette.
Par contre, j'ai bien pu me tromper dans mes calculs, ou dans l'écriture du code.
Mais bon, comme personne ne s'intéressait à ce petit florilège animalier ... :roll:
"Si les faits ne correspondent pas à la théorie, changez les faits !"
Albert Einstein
Avatar de l’utilisateur
-Theo-
~ membre surdoué ~
 
Messages: 31
Inscrit le: 26 Sep 2009, 11:22

Re: équivalence des sauts

Messagepar sc le 24 Nov 2009, 21:17

Voilà ce que cela donne sous Maxima.
As-tu la même chose ?

Code: Tout sélectionner
recherche() := (
sautschat : 0,
sautslapin : 9,
distancelapin:sautslapin*7,
distancechat:sautschat*11,
  while (distancelapin>distancechat)
do
  ( print("sauts lapin=", sautslapin,"(distance :", distancelapin,") et sauts chat=",sautschat,"(distance: ",distancechat,")"),
    sautschat:sautschat+2,
    sautslapin:sautslapin+3,
    distancelapin:sautslapin*7,
    distancechat:sautschat*11
   ),

  print("Il lui faut ",sautschat," sauts au chat (pour info : ",sautslapin," au lapin)",""),
  print("distances parcourues :  chat=", distancechat," et lapin=",distancelapin)
);


recherche();
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Re: équivalence des sauts

Messagepar -Theo- le 25 Nov 2009, 06:54

En effet, mon résultat est le même.
C'est intéressant d'écrire aussi le nombre de sauts de lapin ... Je vais ajouter ça :mrgreen:

Et savez vous pourquoi les fractions ne marchent pas ? :|
En fait, le programme prend l'entier immédiatement inférieur (si par exemple je lui dis "9/2", il prend "4").
"Si les faits ne correspondent pas à la théorie, changez les faits !"
Albert Einstein
Avatar de l’utilisateur
-Theo-
~ membre surdoué ~
 
Messages: 31
Inscrit le: 26 Sep 2009, 11:22

Re: équivalence des sauts

Messagepar sc le 25 Nov 2009, 09:54

C'est une spécificité de ce langage. Il "type" les calculs de manière "intelligente"
pour lui 16/9 est la division de l'entier 16 par l'entier 9 : donc la division euclidienne de 16 par 9
pour diviser des réels, il suffit d'écrire 16./9.
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Re: équivalence des sauts

Messagepar -Theo- le 25 Nov 2009, 16:54

Ah d'accord !
:oops: je ne m'en étais jamais rendu compte, à vrai dire.
C'est donc pour ça que mon programme de calcul de pi ne voulait pas marcher !
(forcément : s'il prend 0 à la place de 1/5, mon arctangente ne vaut plus grand chose :roll: )

Merci pour l'info !
"Si les faits ne correspondent pas à la théorie, changez les faits !"
Albert Einstein
Avatar de l’utilisateur
-Theo-
~ membre surdoué ~
 
Messages: 31
Inscrit le: 26 Sep 2009, 11:22


Retourner vers Questions ouvertes

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités

cron