Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#51 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Encore des prisonniers » 04-11-2011 12:04:04

Bonjour,

J'essaye.

La répartition des possibles:

exox.png


Donc si à la question implicite est vrai (ou faux) Alors:

La question serait de cette sorte:

Vous venez de recevoir un chapeau.
Le rapport entre le nombre de chapeau vert avec le nombre de chapeau rouge est plus grand que 1.

Donc, recevant un chapeau, B calcule x=v/r et obtient soit x>1 ou x<1.
Évidemment, si v/r=0 ou oo   B en déduit que A a 5r ou 5 v

Si A répond « vrai » alors x>1 et B sachant qu'il possède (2r+5v) ou (3r+4v) en déduira que A possède respectivement (2r+3v) ou (1r+4v).

Si A répond « faux » alors x<1 et B sachant qu'il possède (4r+3v) ou (5r+2v) en déduira que A possède respectivement (4r+1v) ou (3r+2v).


A+-*/

#52 Re : Café mathématique » Un problème technique d'affichage: » 04-11-2011 08:59:09

Bonjour,

En fouillant un peu, je suis arrivé sur la fenêtre "Ajouter une règle de filtrage Adblock Plus"

Je choisi d'afficher les filtres existants et je trouve que le filtre s'applique dans la rubrique publicité sur Forum BibM@th.
Je décoche ce filtre et tout redevient comme avant.

YES !!!

Merci pour votre aide.

A+-*/

PS: Il ne m'est cependant pas possible d'insérer une équation; Je peux l'écrire mais au moment ou je veux l'insérer, tout se fige.

#53 Re : Café mathématique » Un problème technique d'affichage: » 03-11-2011 22:23:09

re,

la première fenêtre au départ de BibM@th est la même qu'avant
ainsi que:   
Documents    Références    Thèmes    GeoLabo      Actualités   Chat

Seul la mise en page du forum serait affectée? ainsi que l'éditeur d'équations (c'est à partir de lui que le problème est venu).

A+-*/

#54 Re : Café mathématique » Un problème technique d'affichage: » 03-11-2011 21:36:24

'soir,

Ce Bloquer (ou bloqué je sais plus) était au dessus à droite de la fenêtre qui s'ouvre après avoir coché le bouton 'insérer une équation'.

Le rapport avec l'équation n'est, il me semble, que lié à son support (si ce n'est que l'équation en question ne s'insère pas sur le message).

Actuellement, cette fenêtre ouverte par "insérer une équation" ne stipule que 2 boutons:
             "insérer"  "tutoriel"
en haut de page à gauche.

"modifier le thème standard choisi (et conçu) par Fred : tu n'as plus le style BibM@th mais un autre..."
Ben oui c'est ce qu'il me semble.

Entrer une équation?
C'est simplement après avoir accéder via le bouton "insérer une équation" à l'éditeur rédiger une équation dans le but de l'insérer dans une réponse (par exemple).

J'ai dû modifier un paramètre mais celui-ci n'affecte que BibM@ath.

Merci pour ton aide.

A+-*/

#55 Café mathématique » Un problème technique d'affichage: » 03-11-2011 19:49:35

karlun
Réponses : 6

'soir,

Un problème d'affichage:
j'ai essayé d'insérer une équation mais: pas de résultat
j'ai remarqué un petit onglet au dessus de la feuille active: "bloquer"
je clique dessus; je pense qu'il faut changer quelque chose mais j'sais pas trop...
je coche un des boutons...
Rien!
Je retourne sur la feuille précédente et c'est toute la mise en page qui a changé.(en plus grand mais moins convivial)que puis-je faire pour retrouver l'affichage d'antan?

merci pour votre aide.


Aghhh! +-*/

#56 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Un jeu dont je ne connais pas le nom » 03-11-2011 18:08:33

'lut,

Un peu de python?


# usr/bin/env python
# -*- coding: cp1252 -*-

n=26
for i in xrange(1,26,1):
    n*=26
print n
 

et 26^26 ça donne:


6156119580207157310796674288400203776
 

(Une calculette ne peut arriver à cet affichage)
avec python shell:

>>> 26**26
6156119580207157310796674288400203776L
>>>
 

A+-*/

PS: essai d'introduction d'une équation: pas possible! bigre!

#57 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Un jeu dont je ne connais pas le nom » 03-11-2011 17:01:53

Bonjour,

J'ai posté des solutions au jeu dans le forum programmation sous le titre de "Jeux de lettres"  (1ère réponse) .
http://www.bibmath.net/forums/viewtopic.php?id=4997 
Comme c'est Python qui a travaillé c'est à lui que revient tout le mérite... c'est vrai, il a été commandé de main de maître ;-)

C'est peut-être l'occasion pour vous de vous familiariser un peu avec ce Python (effrayant au départ mais si génial).

A+-*/

#58 Re : Programmation » (Python) jeux de lettres. » 03-11-2011 16:52:24

Bonjour,

Pour me rapprocher via Python des solutions au  « jeu qui n'as pas de nom » initié par Nerosson, Fallait que les permutations des lettres puissent se faire sans répétitions.

L'affaire est dans la boite.

Voici:


# usr/bin/env python
# -*- coding: cp1252 -*-
from textwrap import wrap
     
mot,x,n='argentin',0,[]
lettres=wrap(mot,1)
print lettres
for t in lettres:
    n.append(lettres.count(t))
print n
trav=lettres
while x<=len(lettres)-2: #nbre de lettres du mot
    sol=[]
    for i in xrange(0,len(lettres),1):
        for li in trav:
            p=li+lettres[i]
            pu=p.count(lettres[i])
            if pu<=n[i]:
                sol.append(li+lettres[i])
    trav=list(set(sol))
    x+=1
print
print trav, len (trav)
 

Voici quelques solutions parmi d'autres  (elles dépendent du choix de la lettre enlevée)

Pour le mot « allemagne » il n'y a pas de solution. En enlevant une quelconque des lettres composant le mot il n'y a aucun autre mot qui ne possède une voyelle accentuée.

Pour le mot « argentine »:

-8 lettres  [argentin]             (j'ai enlevé la lettre finale)
    grainent et argentin   (mais ça on peut pas).
-7 lettres  [argenti]             (j'ai enlevé la lettre finale)
    grenait, agirent, granite, ingrate, gratine, gantier.
-6 lettres  [argent]             (j'ai enlevé la lettre finale)
    garent, grena, ragent,argent,ganter
-5 lettres  [argen]             (j'ai enlevé la lettre finale)
    grena,nager, range.
-4 lettres  [arge]                 (j'ai enlevé la lettre finale)
    rage, gare.
-3 lettres  [are]                 (j'ai enlevé la lettre g )
    are
-2 lettres  [ar]                 (j'ai enlevé la lettre finale )
    ra

Pour le mot « birmanie »:
       
-7 lettres  [irmanie]            (j'ai enlevé la 1° lettre )
    minerai.
-6 lettres  [rmanie]            (j'ai enlevé la 1° lettre )
    manier, aminer, animer, minera, ranime, marine.
-5 lettres  [manie]            (j'ai enlevé la 1° lettre )
    amine,anime,manie, menai.
-4 lettres  [anie]                (j'ai enlevé la 1° lettre )
    aine.
-3 lettres  [nie]                (j'ai enlevé la 1° lettre )
    nie
-2 lettres  [ni]            (j'ai enlevé la dernière lettre )
    ni

Vive Python.

A+-*/

PS: programme brut de décoffrage à affiner sans doute.

#59 Programmation » (Python) jeux de lettres. » 02-11-2011 17:05:25

karlun
Réponses : 7

Bonjour,

Suite au petit « jeu sans nom » proposé par Nerosson, j'ai eu l'idée de faire travailler Python afin de construire une liste de mots possibles de 2,3,4,5,6 lettres de longueur à partir d'un mot de 9 lettres (j'ai pas eu le courage de continuer jusqu'à 9).
Faut dire qu'il faut analyser 46656 combinaisons de 6 lettres et voir si elles font partie du dictionnaire français. Ces 6 lettres appartiennent au mot « Allemagne » inspiré du jeu sans nom de Nerosson.
Pour les neufs lettres... pfffff !
C'est pas le programme qui pose problème, c'est le temps qu'il faut avoir pour l'analyse des résultats n'ayant aucune base de donnée sous la main.
Pour ce qui est du programme, j'ai limité l'impression des résultats; l'affichage prend beaucoup trop de temps.

Je suis sûr qu'il y aura des remarques sur la méthode et aussi de bonnes suggestions... je suis preneur.

Voici (version par étapes),


# usr/bin/env python
#-*- coding: cp1252 -*-
from textwrap import wrap
sol=[]
mot='allemagne'
lettres=wrap(mot,1)
print len(lettres)
for i in xrange(0,len(lettres),1):
    for li in lettres:
        sol.append(li+lettres[i])
sol=list(set(sol))
#print sol,len(sol)
#***********3 lettres****************
trav=sol
sol=[]
for i in xrange(0,len(lettres),1):
    for li in trav:
        sol.append(li+lettres[i])
sol=list(set(sol))
#print sol, len (sol)
#***********4 lettres *****************
trav=sol
sol=[]
for i in xrange(0,len(lettres),1):
    for li in trav:
        sol.append(li+lettres[i])
sol=list(set(sol))
#print sol, len (sol)
#***********5 lettres *****************
trav=sol
sol=[]
for i in xrange(0,len(lettres),1):
    for li in trav:
        sol.append(li+lettres[i])
sol=list(set(sol))
#print sol, len (sol)
#***********6 lettres *****************
trav=sol
sol=[]
for i in xrange(0,len(lettres),1):
    for li in trav:
        sol.append(li+lettres[i])
sol=list(set(sol))
print sol[45665:], len (sol)
 

En plus court (la même démarche mise en boucle):

# usr/bin/env python
#-*- coding: cp1252 -*-
from textwrap import wrap

mot,x='allemagne',0
lettres=wrap(mot,1)
trav=lettres
while x<=len(lettres)-2: #nbre de lettres du mot
    sol=[]
    for i in xrange(0,len(lettres),1):
        for li in trav:
            sol.append(li+lettres[i])
    trav=list(set(sol))
    x+=1
    print
    print sol[:10], len (trav)
 

(ici ce ne seront que les 10 premiers résultats pour chaque longueur qui seront affichés)

Voici ce qui s'affiche:

['aa', 'el', 'en', 'ae', 'ag', 'ee', 'eg', 'ea', 'al', 'an'] 36

['aln', 'all', 'alm', 'alg', 'ale', 'ala', 'nla', 'mnl', 'mnm', 'llm'] 216

['mgnn', 'emmn', 'enle', 'eean', 'aage', 'lnmm', 'lnml', 'gana', 'negn', 'nmea'] 1296

['elegm', 'angnn', 'angnm', 'angnl', 'angng', 'angne', 'angna', 'emlee', 'emleg', 'emlea'] 7776

['aggeml', 'nallen', 'ngeneg', 'nallel', 'nallem', 'nallea', 'nalleg', 'nallee', 'mnnmmg', 'mlamae'] 46656

['gegeaaa', 'gallgmn', 'gegeaae', 'gegeaag', 'nglaanl', 'engmgen', 'gegeaam', 'gegeaal', 'ggeneee', 'nnmeell'] 279936

['eamnmaga', 'lmemlmgl', 'eamnmage', 'eamnmagg', 'lmnggman', 'eamnmagl', 'eamnmagm', 'eamnmagn', 'gnleggen', 'nnemmaga'] 1679616

['mmaellega', 'alnlmglam', 'mmnlaenln', 'gglagaaan', 'galnenaae', 'emeemnnan', 'aenmealem', 'eenmammln', 'ammgngeel', 'ammgngeem'] 10077696


Quelques mots de
6 lettres:

magana,langea,magane,manage,gagmen,annale,engage,gamela,lamage,emmena,engame,engama,gagman,mangea,malaga.
(Pas manège car il y a l'accent)

5 lettres:

malle,lemme,angle,gamme,gamma,amena,galle,gemma,gagea,gagne,gagna,ganga,magne,magna,glane,glana,agame,maman,mange,lange,anale,magma,manga,nagea,annal,nanan.

4 lettres:

elle,mana,mage,gage,gaga,gela,lame,mena,nage,gale,gala,ange,alla,gang,lama,nana,anal.

3 lettres:

aga,age,mal,ana,mlm,gag,gan,gel,nlm,ale,alm.

2 lettres:

en,ag,al,an,le,nl,nm,la na, lm,ne,ng,am,me,mg,ma,mm,ml.

A+-*/

#60 Re : Programmation » (Python) Exercice sur "France 4 - 2 Nouvelle Zélande" » 30-10-2011 13:00:48

Bonjour,

Ma démarche est de construire « tous les résultats possibles triés par tentatives »(post#1).

« Une tentative réussie est une tentative qui s'est soldée d'un gain de  3, 5 ou 7 points en plus (tout simplement) » (post#10). 

Le programme calcule quel sont les gains possibles après une première tentative réussie (TR), une deuxième TR, une troisième, etc.

Pour la première TR:

Un drop            =>    3 pts
Un essai            =>    5 pts
Un essai transformé    =>    7 pts

Pour la deuxième TR

Un drop            =>    3 pts(TR1) + 3 pts    = 6 pts
                =>    5 pts(TR1) + 3 pts    = 8 pts
                =>    7 pts(TR1) + 3 pts    = 10 pts

Un essai            =>    3 pts(TR1) + 5 pts    = 8 pts
                =>    5 pts(TR1) + 5 pts    = 10 pts
                =>    7 pts(TR1) + 5 pts    = 12 pts

Un essai transformé    =>    3 pts(TR1) + 7 pts    = 10 pts
                =>    5 pts(TR1) + 7 pts    = 12 pts
                =>    7 pts(TR1) + 7 pts    = 14 pts

et ensuite: (cf post #2)

3 ° tentative réussie =>scores possibles:
[9, 11, 13, 15, 17, 19, 21]
4 ° tentative réussie =>scores possibles:
[12, 14, 16, 18, 20, 22, 24, 26, 28]
Etc.
« L'approche du problème que j'ai mise en œuvre se base sur un développement chronologique des scores possibles; la distinction des combinaisons se calcule à partir du nombre de tentatives réussies. » (post#8)

Pour un score choisi je tire après combien de TR il est apparu: =n1,n2,n3

A partir des n connu, je calcule les répartitions possibles des différents  gains (3 pts, 5 pts, 7 pts).

Pour un score de  39  points il faut [9 ou 11 ou13 ou 7] Tentatives Réussies.
Pour 9 TR:
Je commence par supposer que les 9 TR étaient des essais transformés:

9 TR *7 pts = 63 pts

*    *    *    *    *    *    *    *    *
7    7    7    7    7    7    7    7    7

Or le score est de 39 pts => 63 pts – 39 pts = 24 pts.
Le plus grand écart entre deux gains pour une TR est de 4 pts.


24 pts / 4 pts = 6 places où on peut remplacer 7 par (7 – 4 =) 3

rem. : [Si la (différence entre le nbre de TR et le score choisi) divisé par 4 n'est pas entier => on remplace un des trois par un cinq.]

=> 6 * 3 + 3 * 7 = 39 pts .

Première possibilité:

*    *    *    *    *    *    *    *    *
3    3    3    3    3    3    7    7    7

Je remarque qu'on peut convertir un 7 par un 5 à condition d'augmenter un des 3 de 2/

Deuxième possibilité:
*    *    *    *    *    *    *    *    *
3    3    3    3    3    5    5    7    7

Tant qu'il existe un 3 ou un 7 on peut répéter l'opération.

Troisième possibilité:
*    *    *    *    *    *    *    *    *
3    3    3    3    5    5    5    5    7


Quatrième possibilité:
*    *    *    *    *    *    *    *    *
3    3    3    5    5    5    5    5    5

Donc
pour un score de 39 et pour 9  tentative(s) réussie(s) il y a quatre répartitions possibles de drop(s), essai(s) ou essai(s) transformé(s)

Restent: 11 TR, 13 TR et  7 TR

Voilà, tout cela en commandes.

A+-*/

#61 Re : Programmation » (Python) Exercice sur "France 4 - 2 Nouvelle Zélande" » 29-10-2011 22:04:16

'soir

Une tentative n'est pas toujours couronnée de succès. (c'est bien le sens du terme)
De là à supputer que les tentatives ratées soient l'objet du sujet... bof! :-)
Une tentative peut se solder par 3, 5 ou 7 points en plus   ou pas.
Une tentative réussie est une tentative qui s'est soldée d'un gain de points (tout simplement).

En partant de ton exemple, voici le résultat que j'obtiens:

pour un score de 27
et pour 9  tentative(s) réussie(s)

ou
9 drop(s) ou pénalité(s)
0 essai(s)
0 essai(s) transformé(s)


pour un score de 27
et pour 5  tentative(s) réussie(s)

ou
2 drop(s) ou pénalité(s)
0 essai(s)
3 essai(s) transformé(s)


ou
1 drop(s) ou pénalité(s)
2 essai(s)
2 essai(s) transformé(s)


ou
0 drop(s) ou pénalité(s)
4 essai(s)
1 essai(s) transformé(s)


pour un score de 27
et pour 7  tentative(s) réussie(s)

ou
5 drop(s) ou pénalité(s)
1 essai(s)
1 essai(s) transformé(s)


ou
4 drop(s) ou pénalité(s)
3 essai(s)
0 essai(s) transformé(s)

 

Tous points acquis ne sont pas obtenus après autant de tentatives (réussies) il me semble...
L'ensemble des résultats obtenus est semblable mais le nombre de tentatives (réussies) pour arriver à ce score est mentionné !   :-)

A+-*/

PS: Commentaires suivront.

#62 Re : Programmation » (Python) Exercice sur "France 4 - 2 Nouvelle Zélande" » 29-10-2011 16:17:03

Bonjour,

@ Yoshi,
Hier, j'ai un peu regardé ton programme. L'explication d'aujourd'hui conforte ce que j'avais compris; bien que quelques lignes me reste encore obscure. Mais j'analyse encore (print par ci, par là).
L'interface de choix du résultat au départ n'attend que notre action pour instantanément nous donner les possibilités de scores.


La différence entre nos deux approches réside, à mon avis, sur le recours (ou pas) au piochage dans une Base De Données

Cette approche via la BDD permet-elle  de discerner pour chaque combinaisons  combien de tentatives réussies  ont été nécessaires pour  arriver au score choisi?

L'approche du problème que j'ai mise en œuvre se base sur un développement chronologique des scores possibles; la distinction des combinaisons se calcule à partir du nombre de tentatives réussies.


Deux styles (voire trois) pour cerner un problème... d'où l'intérêt de ces échanges.

Merci.

A+-*/


PS: J'hésite à joindre au programme les commentaires explicatifs des grandes étapes;  cela n’alourdirait-t-il pas la lisibilité des commandes?

#63 Re : Programmation » (Python) Exercice sur "France 4 - 2 Nouvelle Zélande" » 28-10-2011 21:13:51

Bonsoir,

Ouch! :-)

Va falloir que j'épluche tout cela...et

« Je suis ».

Sur base du pondu déjà,
Voici:

# usr/bin/env python
#-*- coding: cp1252 -*-


score,scoreprov,ok1,ok2,l,lprov,n,score1,score2=[0],[0],[],[],1,1,0,39.,17.
print score1,score2
while n<15:
    for i in xrange(3,8,2):
        for j in xrange(0,l,1):
            score.append(score[j]+i)
            if score[j]+i==score1:
                ok1.append(n+1)
            if score[j]+i==score2:
                ok2.append(n+1)
    score=list(set(score))
    for k in xrange(0,lprov,1):
        score.remove(scoreprov[k])
    scoreprov=score
    l,lprov=len(score),len(scoreprov)
    n+=1
    ok1,ok2=list(set(ok1)),list(set(ok2))
    lok1,lok2=len(ok1),len(ok2)
print 'pour ',score1,'points','il faut',ok1,'tentatives'
print 'pour ',score2,'points','il faut',ok2,'tentatives'

for w in xrange(0,lok1,1):
    trois,cinq,sept=0.,0.,0.
    trois=(ok1[w]*7-score1)/4
    if (trois*4)%4<>0:
        cinq=1.
    sept=ok1[w]-trois
    print ''
    print 'pour un score de',int(score1)
    print 'et pour',ok1[w],' tentative(s) réussie(s) '
    print ''
    print 'ou'
    print int(trois),'drop(s) ou pénalité(s)'
    print int(cinq),'essai(s)'
    print int(sept),'essai(s) transformé(s)'
    print''
    m=min(int(trois),int(sept))
    for z in xrange(0,m,1):
        trois-=1
        cinq+=2
        sept-=1
        print ''
        print 'ou'
        print int(trois),'drop(s) ou pénalité(s)'
        print int(cinq),'essai(s)'
        print int(sept),'essai(s) transformé(s)'
        print''
for q in xrange(0,lok2,1):
    trois,cinq,sept=0.,0.,0.
    trois=(ok2[q]*7-score2)/4
    if (trois*4)%4<>0:
        cinq=1.
    sept=ok2[q]-trois
    print''
    print 'pour un score de',int(score2)
    print 'et pour',ok2[q],' tentative(s) réussie(s) '
    print ''
    print 'ou'
    print int(trois),'drop(s) ou pénalité(s)'
    print int(cinq),'essai(s)'
    print int(sept),'essai(s) transformé(s)'
    print''
    m=min(int(trois),int(sept))
    for h in xrange(0,m,1):
        trois-=1
        cinq+=2
        sept-=1
        print ''
        print 'ou'
        print int(trois),'drop(s) ou pénalité(s)'
        print int(cinq),'essai(s)'
        print int(sept),'essai(s) transformé(s)'
        print''

beaucoup de 'print' mais algorithme assez simple.

et cela donne:

>>>
39.0 17.0
pour  39.0 points il faut [9, 11, 13, 7] tentatives
pour  17.0 points il faut [3, 5] tentatives

pour un score de 39
et pour 9  tentative(s) réussie(s)

ou
6 drop(s) ou pénalité(s)
0 essai(s)
3 essai(s) transformé(s)


ou
5 drop(s) ou pénalité(s)
2 essai(s)
2 essai(s) transformé(s)


ou
4 drop(s) ou pénalité(s)
4 essai(s)
1 essai(s) transformé(s)


ou
3 drop(s) ou pénalité(s)
6 essai(s)
0 essai(s) transformé(s)


pour un score de 39
et pour 11  tentative(s) réussie(s)

ou
9 drop(s) ou pénalité(s)
1 essai(s)
1 essai(s) transformé(s)


ou
8 drop(s) ou pénalité(s)
3 essai(s)
0 essai(s) transformé(s)


pour un score de 39
et pour 13  tentative(s) réussie(s)

ou
13 drop(s) ou pénalité(s)
0 essai(s)
0 essai(s) transformé(s)


pour un score de 39
et pour 7  tentative(s) réussie(s)

ou
2 drop(s) ou pénalité(s)
1 essai(s)
4 essai(s) transformé(s)


ou
1 drop(s) ou pénalité(s)
3 essai(s)
3 essai(s) transformé(s)


ou
0 drop(s) ou pénalité(s)
5 essai(s)
2 essai(s) transformé(s)


pour un score de 17
et pour 3  tentative(s) réussie(s)

ou
1 drop(s) ou pénalité(s)
0 essai(s)
2 essai(s) transformé(s)


ou
0 drop(s) ou pénalité(s)
2 essai(s)
1 essai(s) transformé(s)


pour un score de 17
et pour 5  tentative(s) réussie(s)

ou
4 drop(s) ou pénalité(s)
1 essai(s)
0 essai(s) transformé(s)

>>>

bel exercice en tous cas.
Meilleure mise en forme est souhaitable mais faut le temps.

A+-*/

PS:     l'algorithme commence comme cecii:
    int((nombre de tentative(s)*7-score)/4)= nombre de drop(s) (trois)
    int(nbre de tentative(s)-nombre de drop(s))= nombre de sept
    et...

#64 Re : Programmation » (Python) Exercice sur "France 4 - 2 Nouvelle Zélande" » 26-10-2011 13:10:06

re,

Je me suis rendu compte que j'avais oublié de montrer ce que ça donne comme résultat pour 10 tentatives réussies (par ex.).

Voici:

>>>
1 ° tentative réussie =>scores possibles:
[3, 5, 7]
2 ° tentative réussie =>scores possibles:
[6, 8, 10, 12, 14]
3 ° tentative réussie =>scores possibles:
[9, 11, 13, 15, 17, 19, 21]
4 ° tentative réussie =>scores possibles:
[12, 14, 16, 18, 20, 22, 24, 26, 28]
5 ° tentative réussie =>scores possibles:
[33, 35, 15, 17, 19, 21, 23, 25, 27, 29, 31]
6 ° tentative réussie =>scores possibles:
[18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42]
7 ° tentative réussie =>scores possibles:
[21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49]
8 ° tentative réussie =>scores possibles:
[24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56]
9 ° tentative réussie =>scores possibles:
[27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63]
10 ° tentative réussie =>scores possibles:
[30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70]
>>>

Merci Yoshi pour les bons conseils; la coloration syntaxique de Python reste permanente grâce à l'ajout de l'extension '.py' au nom du fichier.

A+-*/

#65 Programmation » (Python) Exercice sur "France 4 - 2 Nouvelle Zélande" » 26-10-2011 09:58:32

karlun
Réponses : 13

Bonjour,

Exercice, exercice sympathique...

Au sujet  France 4 - 2 Nouvelle Zélande je joins une autre approche « programmatrice » construisant tous les résultats possibles triés par tentatives.
Quelques lignes supplémentaires suffiront pour trouver après combien de tentatives il est possible d'avoir un score choisi

voici:




# usr/bin/env python
#-*- coding: cp1252 -*-

score,scoreprov,l,lprov,n=[0],[0],1,1,0
# initialise les listes nommées 'score' ,'scoreprov' et leur longueur
while n<10:
# n est le nombre de tentative(s) réussie(s) (drops, pénalités, essais, essais transformé)
    for i in xrange(3,8,2):
# points possibles attribués (3,5,7)
        for j in xrange(0,l,1):
            score.append(score[j]+i)
# ajout à la liste 'score' des points possibles pour cette tentative
    score=list(set(score))
# enlève les doublons, triplons et range la liste (croissante)
    for k in xrange(0,lprov,1):
        score.remove(scoreprov[k])
#supprime les scores de la tentative précédente
    scoreprov=score
    l,lprov=len(score),len(scoreprov)
# réinitialisation
# nouveau score provisoire et nouvelle longueur des listes
    n+=1
# compteur des tentatives
    print n,"° tentative réussie =>scores possibles: "
    print score
   
 



A+-*/

PS: Il faudra copier le programme et opérer une dédentation sur son ensemble ...
et puis je remarque (depuis toujours) que la coloration syntaxique de Python disparait après le premier 'run'; y-a-t'il un remède?

#66 Re : Programmation » (Python): Je suis bloqué . Petite question: » 05-10-2011 19:00:04

Bonsoir et merci,

En effet je me suis déjà dirigé vers le maniement des entiers car malgré mon subterfuge je ne pouvais dépasser un certain nombre de « chiffres solution » car le programme me retournait le message suivant:
« OverflowError: integer division result too large for a float »
et ça ne m'arrangeait pas.

Comme le pressent bien Yoshi, je ne me contente pas de quelques dizaines (centaines) de décimales...

Mais ça me turlupinait quand-même; comment un calcul si simple peut indiquer un résultat «même  infinitésimalement » faux.

Me voila rassurré.

A+-*/

#67 Programmation » (Python): Je suis bloqué . Petite question: » 05-10-2011 13:58:35

karlun
Réponses : 4

Bonjour,

M'étant remis (doucement) à la programmation (transposition en Python de l’algorithme "calcul à la main  des racines carrées") je suis obligé d'user de subterfuges pour éviter de recevoir le genre de réponse comme ci-dessous.

>>>5.7-3.9
1.8000000000000003
>>>

Pfff! c'est quoi qui faut faire pour que 5.7-3.9 = 1.8   (tout sec)

Merci beaucoup.

#68 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Les mafiosi et la cocaine » 28-09-2011 20:14:01

'soir,

Esprit de bande plutôt.

[j'ouvre une parenthèse]

Une bande qui ne se limite que de son bord (un seul) et  toujours "parallèle" (bande de Möbius (topologie)) à lui-même.

[je referme la parenthèse]

Bonsoir.

#69 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Les mafiosi et la cocaine » 28-09-2011 16:53:16

Bonjour,

j'y croyais moi au "partage"...(La bonne entente...Trop naïf certainement)
Alors j'imaginais que l'ainé aurait distribué (un par un) tous les paquets d'un kilo de coc. à chacun (comme au jeu de carte) tout simplement (le temps de le faire il ne risquait rien... qu'il y aille lentement seulement).

Si par ordre d'âge on distingue les papés des moins papés par A,B,C,D,E, (alignés dans cet ordre de gauche à droite) et tenant compte que A, distribuant, commence par son voisin de droite, Ils recevront: B=103, C=103, D=102, E=102, A=102. Si il y a jalousie , elle sera minime et, dans les couloirs, ça peut s'arranger; deux d’entre eux (des quatre les moins âgés) ayant un petit avantage (minime), une majorité assassine ne pourrait être justifiée que par d'autre intérêts (hors problème).

A a-t-il à craindre une coalition contre lui  (lui si équitable s'étant lui même privé d'un kilo de coc.)? Non je crois pas; c'est l'aîné tout de même et pas de majorité en vue.
D'autant que tout le monde est content! non? Et qu'ils pourront encore  envisager d'autres coups ensemble (à 5) pour, chacun, y gagner plus encore.
D'ailleurs, au départ, ne s'étaient-ils pas entendus sur le partage équitable des gains de l'opération rémunératrice moyennant leur participation?


A+-*/

#70 Re : Entraide (supérieur) » somme des carrés » 28-09-2011 15:24:41

Bonjour,

Sujet abordé déjà , certes; répétition donc.

Soit une pyramide en coin de base n (de couche de n² cubes 1 (d'arête)), de hauteur n (cubes 1)
De haut en bas: 1²,2²,3²,4²,...,n²
Le volume (V) des n couches de cubes 1= la somme des premiers carrés.

Le volume d'une pyramide lissée  =  ( b²*h)/3.

Le volume (V) de la pyramide faite de cube 1 de base n et de hauteur n =  (n² * n)/3 + la différence entre la pyramide lissée et la pyramide à gradins de cube 1.

à (n²+n)/3 il faut ajouter  (2/3)n³ + (n²-n)/2.

Donc:  V =b(n²+n)/3 + (2/3)n³ + (n²-n)/2

V = (2n³+3n²+n)/6

La somme des n 1° carrés = (2n³+3n²+n)/6

(Sauf erreur toujours possible)

A+-*/

#71 Programmation » Exercice (Python) sur énigme voisins-voisines. » 27-09-2011 11:17:01

karlun
Réponses : 4

Bonjour,

J'ai choisi de créer cette nouvelle discussion car j'ai peur qu'on pense que je souhaite m'immiscer dans la discussion (un peu trop ardue pour moi) « Voisins, voisines, (code sur énigme de Freddy) »;

A partir de l'énoncé que Freddy a soumis à notre réflexion, en guise d'exercice, je propose le petit code suivant (qui me trottait dans la tête) qui rend compte que le hasard  du choix des paires à répartir n'influe pas sur le nombre de tirages total.

Voici l’énoncé rappelé:

« Vingt et une personnes, dont Paul et Virginie, du club Med' de Peysey Nancroix, sont assises autour d'une table circulaire pour participer à un jeu "step by step".
Une étape consiste à choisir au hasard une personne qui a au moins deux coquillages ; celle-ci doit alors donner un coquillage à chacun de ses deux voisins (voisines).
Au départ du jeu, une personne a 20 coquillages, les autres n'ont rien.
A l'issue de 384 étapes, Virginie a deux coquillages de plus que Paul.
Combien ont ils respectivement ? »
(La réponse dépendra si  Paul et Virginie sont voisins (on le pense bien) ou pas.)

Voici:


# usr/bin/env python
# -*- coding: cp1252 -*-
from __future__ import division
from math import*
from time import time
import random
voisin,n=[0]*21,0                  
#crée une liste de 21*0 et initialise n (nombre d'étapes)
p = random.randint(0,20)            
#génere une p personne(aléatoire)recevant 20 coquillages
voisin[p]=20
print "étape n°",n,":",voisin
while max(voisin)>1:                
#tant qu'une personne possède plus d'1 coquillage on continue.
    n+=1                            
#compteur d'étape
    r = random.randint(0,20)        
#génere une r position(aléatoire)parmis les 21.
    while voisin[r]<2:              
#tant que le voisin occupant la position r n'a pas au moins
    #2 coquillages, on recommence le tirage.
        r = random.randint(0,20)
    voisin[r]-=2                    
#le voisin r possédant au moins 2 coquillages en donne 1 à ses voisins.
    voisin[r-1]+=1                  
#le voisin de gauche reçois 1 coquillage.
    if r+1>20:                      
#astuce pour rendre voisin la 21° personne avec la première (si besoin).
        r-=20                      
#(bouclage du cercle rendant le tirage au sort initial de la personne recevant
        voisin[r]+=1                
#les 20 coquilages inutile;  mais bon!)
    else:
        voisin[r+1]+=1              
#le voisin de droite reçois 1 coquillage.
    print "étape n°",n,":",voisin  
#résultat de l'opération

Peut-être peut-on encore le condenser?

A+-*/

PS: Merci pour vos conseils #2 #3.
      Moyennant une dédentation sur l'ensemble d'un copier-coller ça fonctionne (chez moi)

#72 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Voisins / Voisines » 25-09-2011 11:42:26

Bonjour,

j'ai tenté de démonter le mécanisme de distribution.

Mathamateur (+-*/) je ne peux que vous présenter les pièces démontées et les relations qui les animent.

Je me suis intéressé aux passages de p places à (p+2) places (en symétrie) en respectant le processus stochastique et j'aboutis à un ordonnancement qui me conduit au résultat annoncé (385).

Passons d' une place (possédant un nombre paire de coquillage (2)) à deux places:

    2            étape 0        p=1
1    0    1        étape 1        p=3            1*

Il faut  1 étape.

Passons de 3 places dont la centrale possède un nombre paire de coquillage (2) à 5 places:

    1    2    1        étape 0        p=3        2*
    2    0    2        étape 1       
1    0    1    2        étape 2   
1    0    2    0    1    étape 3        p=5

et alors 1*

1    1    0    1    1    étape 1

Donc quelque soit l'ordre de décomposition des paires de coquillages,
pour passer de 1 à 3 places il faut :        1            étape

pour passer de 3 à 5 places il faut :        1    +    3    étapes

pour passer de 1 à 5 places il faut:        2    +    3    étapes

Passons de 5 places dont la centrale possède un nombre paire de coquillage (2) à 7 places:

    1    1    2    1    1        étape 0        p=5
    1    2    0    2    1        étape 1       
    2    0    1    2    1        étape 2   
    2    0    2    0    2        étape 3   
1    0    1    2    0    2        étape 4   
1    0    1    2    1    0    1    étape 5        p=7        3*

Et alors 2*
Soit conquérir la place n°2 et n°6 et donc revenir sur 2*
Et ensuite 1*





Donc
pour passer de 1 à 3 places il faut :        1            étape

pour passer de 3 à 5 places il faut :        1    +    3    étapes

pour passer de 5 à 7 places il faut :        1    +    3    +    5    étapes

pour passer de 1 à 7 places il faut:        3    +    6    +    5    étapes


Pour passer de 1 à 21 places il faut:

1    3    5    7    9    11    13    15    17    19
1    3    5    7    9    11    13    15    17
1    3    5    7    9    11    13    15
1    3    5    7    9    11    13
1    3    5    7    9    11
1    3    5    7    9
1    3    5    7
1    3    5   
1    3
1

10    27    40    49    54    55    52    45    34    19

total= 385.

Notons que pour alimenter toutes la procédure  il faudra  prévoir au minimum 10*2 coquillages.
Voilà c'est un peu comme une épure je sais et la dimension "hasard" n'est pas prise en compte.



A+-*/

#73 Re : Entraide (collège-lycée) » Point d'intersection et tangente à la courbe [Résolu] » 11-12-2010 15:13:02

Salut,

Si j'ai répondu et, dans un dédale, engagé Malia,    [ mal y a     -t-il?  ;-) ]
C'est que j'y ai été invité.

PS: @ Yoshi:
Si j'osais...
Ne peut-on résoudre ce problème (les deux questions) seulement via les dérivées? Cette procédure serait-elle démonstrative?

et la réponse:

Si tu as une idée qui ne m'est pas venue (je ne pense pas à tout), je suis prêt à l'étudier.

Et en plus j'ai fait attention à ne pas donner de solution(s) au problème de départ comme tu l'avais souhaité.

Maintenant, pour Malia (le mal est fait ;-) ) je me lâche.

Résumé calculé:

[tex]C1\equiv \,\,y=-{x}^{2}+3x+6[/tex] 
[tex]C2\equiv \,\,y={x}^{2}+7x+8[/tex] 
[tex]C3\equiv \,\,y={x}^{3}-{x}^{2}+4[/tex]

Tangente?  => dérivées.

[tex]C'1\,=>\,\,y1'=-2x+3[/tex]
[tex]C'2\,=>\,\,y2'=2x+7[/tex] 
[tex]C'3\,=>\,\,y3'=3{x}^{2}-2x[/tex]

On recherche l'intersection des courbes représentatives des dérivées:

[tex]C'1\,\cap\,C'2\,\,=>-2x+3=2x+7 =>x=-1[/tex]
[tex]C'1\,\cap\,C'3\,\,=>-2x+3=3{x}^{2}-2x =>x=\pm\-1[/tex]
[tex]C'2\,\cap\,C'3\,\,=>2x+7=3{x}^{2}-2x =>x=-1 et x= \frac{14}{6}[/tex]

Un point est commun aux trois équations => X=-1
=> y'1,y'2 et y'3 =5 (pente de la tangente).
Qu'est-ce cette abscisse?
C'est ici la bonne rencontre ( je ne perçois pas le lien et ne peut donc rien prouver) car reporter l'abscisse dans les primitives, nous donne l'ordonnée du (des) point(s) pour le(s)quel(s) la pente de la tangente à la courbe en ce(s) point(s) est égale.
Rouge= balayable d'un revers de la main...pffft!!

Je reporte l'abscisse de ce point commun dans C1, C2 et C3 et j'obtiens:
y1=y2=y3=2
Donc le point P(-1,2) est commun aux trois courbes C1, C2, C3.

Hasard? Évidemment je me le suis demandé.

Bon s'il faut trouver un autre exemple ("petit exercice") l'énoncé lui-même rencontre ce même cas de figure: d'avoir un seul point commun entre trois courbes.
Même procédure:
A partir de la primitive de C1,C2 et de C3, C1,C2, C3 sont les équations des fonctions dérivées dont on connait déjà la pente de la tangente (l'ordonnée de A=> pente de la (les) tangente(s) = 2) et dont on sait que ce (ces) point(s) tangent(s)reportée(s) dans les primitives aura (ont) pour abscisse: l'abscisse de A =>  = -1.)
Reste à calculer les 3 primitives:
[tex]\int^{\infty }_{0}C1\equiv \,y1=-\frac{{x}^{3}}{3}+\frac{3{x}^{2}}{2}+6x+K1[/tex]
[tex]\int^{\infty }_{0}C2\equiv \,y2=\frac{{x}^{3}}{3}+\frac{7{x}^{2}}{2}+8x+K2[/tex]
[tex]\int^{\infty }_{0}C1\equiv \,y3=\frac{{x}^{4}}{4}+\frac{{x}^{3}}{3}+4x+K3[/tex]

D'y insérer l'abscisse de A =-1 et on obtient:

[tex]B=\left(-1,-\frac{25}{6}\right)[/tex] 
[tex]C=\left(-1,-\frac{29}{6}\right)[/tex] 
[tex]D=\left(-1,-\frac{41}{12}\right)[/tex]

Voici l'illustration:
tgth.png

C'est reprise de tout ce que j'ai voulu dire.
A moi d'encore affiner avec d'autres exemples et de tenter (s'il y a lieu) de démontrer (pas mal ce mot "dé-montrer").

A+-*/

PS: je vais tenter de te suivre sur le terrain que tu amènes Yoshi mais qui diffère un peu du mien il me semble.
PS 1: j'ai corrigé la faute; merci de ton attention.

#74 Re : Entraide (collège-lycée) » Point d'intersection et tangente à la courbe [Résolu] » 11-12-2010 09:33:31

Bonjour,

Hou-là!
Aurais-je mieux fait de me taire?

Merci pour ta longue réponse.

J'annonçais seulement une tentative, un essai de solutionner ce problème en partant de la fin de l'énoncé.
(2. Ces courbes admettent elles la même tangente en A ?)
Et donc de considérer d'abord  les dérivées des trois courbes C1,C2,C3.

Je soutiens donc que si les dérivées acceptent un unique point d'intersection

Oui je me suis mal exprimé (merci de le souligner) Je parlais (comme tu l'as compris) effectivement des fonctions dérivées.

Yoshi a écrit :

En tant que telles ces 3 courbes représentatives peuvent avoir un point commun, l'ordonnée de ce point commun sera le coefficient directeur commun des tangentes à chacune des courbes...

Et l'abscisse?

L'abscisse de ce point commun sera l'abscisse des trois points (parfois confondus) par lesquels passeront les (la) tangente(s) de coefficient directeur identique.

Je l'ai mis en rouge afin qu'il puisse être barré, balayé du revers de la main...pffft! parce que je ne sais pas le prouver et que donc...

Après je me suis donné des exercices et le premier qui m'est venu est de repartir de l'énoncé lui-même en considérant C1,C2,C3 comme fonctions représentatives de trois dérivées se coupant en un point unique.
(J'ai tous les calculs si on veut et la représentation graphique (faite après (évidemment) ;-)    )

Pour ce qui est de la constante je  m'en suis peu soucié... A tort sans doute...A suivre.

Ou sinon A+-*/

#75 Re : Entraide (collège-lycée) » Point d'intersection et tangente à la courbe [Résolu] » 10-12-2010 22:44:38

Bonsoir,

Merci Yoshi de t'occuper de mes tentatives.

Yoshi a écrit :

Tu répondrais à la Q1 en traitant la Q2 :
- Recherche des 3 dérivées, ok !

Ben oui! Et je trouve alors je cherche +-*/
J'obtiens trois équations.
J'en calcule leur intersection (si elle(s) existe(nt)?).
J'obtiens (dans le cas qui nous occupe)  un résultat: P(-1,5)  commun aux trois équations (P est l'intersection trouvée).
Alors je me suis intéressé à l'abscisse (-1); l'ordonnée (y') étant la pente de la tangente commune aux trois courbes de départ! 
Mais quoi ça veut dire?

Yoshi a écrit :

Et maintenant tu fais quoi ? Tu lis les coordonnées sur ton dessin ? Tss ! tss !

Ben! pas besoin.

P(-1,...)  sera l'abscisse du lieu où la pente de la (ou des) tangente(s) aux courbes sera(ont) identique(s).
Mais là me manque la démonstration...

Yoshi a écrit :

tu peux juste dire que les tangentes sont colinéaires ou parallèles...

Alors là oui j'en suis convaincu. Merci de me mettre les points sur les i.

Dans le cas qui nous occupe pas de problème puisque reporter cette abscisse dans les 3 équations de départ nous donne un même et seul résultat: 2
Donc la tangente aux trois courbes passe par ce point unique P(-1,2).

Dans tous autres cas (suivant la démonstration (à venir)), le même raisonnement peut être mené (c'est ici que je m'avance un peu...).
Si reporter l'abscisse dans les 3 équations de départ ne nous donne pas un même résultat c'est simplement qu'elle donne l'ordonnée du point dont la pente de la tangente est identique (tangentes parallèles ou colinéaires donc).

Petit exercice?

Je soutiens donc que si les dérivées acceptent un unique point d'intersection alors en l'abscisse de ce point, dans les équations de départ, les tangentes seront, selon le cas, identiques ou colinéaires ou parallèles.

Ben tiens... prenons l'énoncé de ce post comme point de départ puisque les trois équations ont un seul point commun. (ne complexifie-je donc pas encore plus le problème?)
Je considère ces trois équations comme les dérivées de trois courbes...Elles se coupent en un point unique A(-1,2)
Si en introduisant cette valeur x=-1  dans les (3) équations « dérivées »-intégrées (je manque de vocabulaire) on trouve la même valeur => il existe une même et seule tangente et en un point unique. La pente est de A(...,2) 2
Dans le cas contraire, en l'abscisse A(-1...) les trois courbes auront une pente de tangente identique = A(...,2) 2      ((en y=-4,16, y=-4,83, y=-41/12)           pour ce cas précis).

Voilà ce que j'ai en tête;


A dégrossir +-*/ sans doute.

Pied de page des forums