Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#201 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 28-12-2015 12:07:45
Bon j'ai une conjecture mais je n'ai pas testé beaucoup de cas :
Si a est impair,
on fait la décomposition en facteurs premiers,
si il y en a qui ne sont que puissance 1 alors on les garde, n vaut alors ceux qu'on a gardé au carré mais on enlève ceux qui sont >a(rac(2)-1)
Je vais faire d'autres test au cas ou.
exemple :
945 = 1*3^3*5*7
donc n vaut 1, 25, 49 avec n < a(rac(2)-1)
105 = 1*3*5*7
donc n vaut 1, 9, 25, 49 avec n < a(rac(2)-1)
Je ne sais pas si le n < a(rac(2)-1) conviendra toujours, peut-être que la solution plus restreinte serait mieux (en résolvante a+1 <= b...)
Avec un algo je vais tenter de vérifier (ou réfuter) cette conjecture sur pas mal de a à moins que je le prouve mathématiquement (ou réfute).
#202 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 28-12-2015 11:42:07
and gcd(a,b)==1 and gcd(a,c)==1 and gcd(b,c)==1:
Pourquoi vouloir que a,b,c soient deux à deux premiers entre eux ?
C'est prendre le risque d'éliminations intempestives...
C'est pourquoi je teste si PGCD(a,b,c) = 1, soit en Python : if gcd(gcd(a,b),c)==1: puisque gcd n'admet que deux arguments...
PGCD(a,b,c)=PGCD(PGCD(a,b), c)
Salut, mince en effet, ok pour le gcd(gcd(a,b),c)==1, j'avais essayé gcd(a,b,c) en premier mais je n'avais pas pensé à ca même si j'aurais pu m'en douter sachant ton algorithme.
J'ai un peu continué mes recherches (sur le cas a impair pour le moment) et même si je trouve une solution en fait ca sera comme avant, un truc dur à calculer alors que je voulais faire bien plus simple en disant a impair à pour père ca, a pair pour père ca et hop tous les multiples mais non, d'autant que je ne veux pas en écrire deux fois.
PS: mon n < a*(rac(2)-1) c'est en résolvant a<b en remplaçant b par son expression, j'ai aussi essayé a+1 <= b mais il restait du a² et du a donc j'ai pris un peu plus large et simple.
#203 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 27-12-2015 22:17:42
Re,
Ok les gars :)
Yoshi ton algo est intéressent je trouves, je voulais démontrer un truc et j'avais du mal mais de toute façon c'était faux, j'ai pu le voir avec ton algorithme. Ca va me faire du boulot en plus ca^^, je pensais que les triplets pères avec a impairs étaient b= (a²-1)/2 mais je n'arrivais pas à montrer que si n divise a² alors n divise a sachant que n < a(rac(2)-1), mais si on prends a = 39, 39²/9 est entier mais 39/9 non et n < a(rac(2)-1).
Au fait, on peut améliorer la vitesse du programme en disant que n < a(rac(2)-1) < a. En fait je viens d'essayer et ca prend plus de temps finalement... sans doute a cause du temps de calcul mais bon, on peut tout simplement arrondir à 0.42 et la je crois que c'est plus rapide.
PS:
Si ca t'intéresse, voila le programme pour les tétraèdres même j'ai encore pas mal de taff à faire sur les triplets de Pythagore : désolé je t l'enverrais plus tard, le site n'aime pas trop mon utilisation des [] avec des i dedans, je le changerais plus tard... Voici le résultat pour a allant de 3 à 100 :
>>>
OA= 44 OB= 240 OC= 117 AB= 244 BC= 267 CA= 125
OA= 44 OB= 117 OC= 240 AB= 125 BC= 267 CA= 244
OA= 85 OB= 720 OC= 132 AB= 725 BC= 732 CA= 157
OA= 85 OB= 132 OC= 720 AB= 157 BC= 732 CA= 725
OA= 88 OB= 480 OC= 234 AB= 488 BC= 534 CA= 250
OA= 88 OB= 234 OC= 480 AB= 250 BC= 534 CA= 488
>>>
https://commons.wikimedia.org/wiki/File … orem_1.svg
PS: désolé pour ta remarque du a%2==1 plus performant que (a+1)%2==0, je ne l'avais pas vu et je m'en suis rendu compte avec la remarque de freddy, j'ai essayé et sur qulques test il m'a semble que c'était un petit peu plus rapide et bon c'est surtout plus "esthétique".
Re,
J'ai du mal avec ton programme, quand j'essaye de n'avoir que les a < 100 et sans l'intervalle de 5, ils sont affichés deux fois, j'ai fait alors ma propre version et j'aimerais bien comparer le temps de calcul des deux programmes :
from math import*
from fractions import gcd
for a in range(1,101):
n=1
while n<a*0.42:
b=int((a*a-n*n)/(2*n))
c=int(b+n)
if a%2==0:
if (a*a)%(2*n)==0 and n%2==0 and int((a*a-n*n)/(2*n))>a and gcd(a,b)==1 and gcd(a,c)==1 and gcd(b,c)==1:
b=int((a*a-n*n)/(2*n))
c=int(b+n)
print(" a=",a," b=",b," c=",c)
elif a%2==1:
if (a*a)%n==0 and (a*a)%(2*n)!=0 and int((a*a-n*n)/(2*n))>a and gcd(a,b)==1 and gcd(a,c)==1 and gcd(b,c)==1:
b=int((a*a-n*n)/(2*n))
c=int(b+n)
print(" a=",a," b=",b," c=",c)
n+=1
#204 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 26-12-2015 23:55:37
Bonsoir,
Bonne chance dans la suite de tes recherches.
Pour ma part, j'arrête le dialogue de sourds.@+
Salut,
désolé mais je préfère ne pas regarder les autres solutions de ce problème afin de ne pas faire de "plagia", je suis quand même allé voir rapidement tes liens par curiosité avec les formes de type u²-v², 2uv et u²+v² je crois mais ce ne serait pas honnête si je me servais de ces solutions en les ayants vus.
Pour le tétraèdre, j'ai finalement un bon algorithme rapide et qui trouve tous les côtés.
Merci pour tes conseils et ton aide en tout cas, je trouves que c'est un problème intéressent.
#205 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 26-12-2015 17:31:16
J'ai commencé à regarder les tétraèdres qui ont un coin formé uniquement d'angles droits, j'ai fait un programme mais il est lent (façon de parler) :/ en tout cas, pour a allant de 3 à 1000, il n'en trouve pas. Pour le programme, ce n'est pas juste une boucle dans une autre dans une autre, je me suis servi de mon précédent programme mais je ne sais donc pour le moment pas s'il fonctionne, je vais essayer la méthode brutale.
Enfin je n'y est pas encore réfléchi mathématiquement... je vais voir ca.
#206 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 24-12-2015 19:34:30
Programme:
>>>
1- import time
2- from math import*
3- for a in range(1000,10001,1000):
4- t1=time.time()
5- for b in range(a,int((a*a-1)/2)+1):
6- if sqrt(a*a+b*b)%1==0:
7- c=int(sqrt(a*a+b*b))
8- #print(" a=",a," b=",b," c=",c)
9- t2=time.time()
10- n=1
11- while n<a :
12- if a%2==0:
13- if (a*a)%(2*n)==0 and n%2==0 and int((a*a-n*n)/(2*n))>a:
14- b=int((a*a-n*n)/(2*n))
15- c=int(b+n)
16- #print(" a=",a," b=",b," c=",c)
17- elif (a+1)%2==0:
18- if (a*a)%n==0 and (a*a)%(2*n)!=0 and int((a*a-n*n)/(2*n))>a:
19- b=int((a*a-n*n)/(2*n))
20- c=int(b+n)
21- #print(" a=",a," b=",b," c=",c)
22- n+=1
23- t3=time.time()
24- print("a=",a," ",t2-t1," ",t3-t2)
>>>
Explications :
1) Importation du module temps.
2) Importation du module math.
3) On va faire varier a de 1 000 à 10 000 avec un intervalle de 1 000.
4) Avant de commencer la première version du programme, on enregistre le "temps" en t1.
5) La première version du programme va calculer tous les triangles intégraux avec a fixé.
8) Mais nous n'afficherons pas le résultat, on cherche juste le temps de calcul de l'ordinateur.
9) On enregistre le temps a présent, donc t2-t1 sera le temps mis par le programme pour trouver les triangles.
10) On va maintenant chercher les même résultats mais avec le programme issu de l'étude mathématique, on initialise n à 1.
12) On regarde si a est pair.
13) S'il respecte les conditions vu dans l'étude mathématique alors :
14) Il calcule b.
15) Et c.
16) On n'affichera pas les résultats pour les même raisons qu'avant.
17) Si maintenant a est impair et :
18) Si a respecte les conditions vu dans l'étude mathématique alors :
19) Il calcule b.
20) Et c.
22) On ajoute 1 à n pour tester tous les cas n<a.
23) On enregistre le temps a présent, donc t3-t2 sera le temps mis par le programme pour trouver les triangles.
24) On affiche les différents temps mis par chaque programme pour a fixé (avec en premier le programme version 1 puis celui issu de l'étude mathématique).
#207 Re : Café mathématique » Père noël » 24-12-2015 17:17:25
Salut,
Dans le sens opposé aux soleil par rapport à la terre ?
Bonne fête à toi aussi même s'il y a déjà un topic dédié à ce sujet.
#208 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 24-12-2015 15:51:02
Salut,
Concernant le fait de savoir si 3/4/5 et 4/3/5 sont les mêmes rectangles, il y a quand même marqué dans l'énoncé que:
Un ensemble de points du plan est dit intégral si et seulement si la distance entre deux points quelconques de cet ensemble est un nombre entier. Quels sont les triangles rectangles intégraux ?Oui, et alors ? qu'est-ce qui infirme là-dedans ce que j'ai dit ?
Pour moi, rien ! Tu introduis une notion d'ordre qui n'existe pas dans ta problématique...Concernant les triplets Pythagoriciens, quand j'ai écrit :
n étant un entier impair (supérieur à 1) : [tex] n[/tex] , [tex]\frac{n^2-1}{2}[/tex] , [tex]\frac{n^2+1}{2}[/tex] sont les côtés du triangle rectangle.
J'ai cité des "pères de famille"....
Prenons par exemple n=3, le triangle 3,4,5 a une descendance infinie
[tex]\forall k \in \mathbb{N}*,\; 3k,4k,5k[/tex] est un triangle rectangle intégralJe vais essayer de comprendre ce que tu fais dans tes progs (non documentés).
Si je peux faire mieux, quand j'aurai compris, je te le dirai...
@+
Re,
Ok mais après pour ce qui est de la recherche (vis à vis des "pères de famille") je dois y réfléchir un maximum seul.
Pour ce qui est du programme, alors:
On note le temps dans t1 puis on calcul tous les triplets correspondant à un a fixe et on regarde le temps que ca a pris (t2-t1)
Puis on fait pareil avec le "deuxième programme" en faisant t3-t2.
Et ceci pour a allant de 0 à 10 000 avec un intervalle de 1 000.
on affiche pas les triplets mais juste le temps de calculs des deux "programmes" pour différentes valeurs de a.
Pour ce qui est de sqrt(a*a+b*b)%1==0 et bien le reste ne sera pas 0 si la racine n'est pas entière.
PS: si tu veux voir que je ne mens pas^^ voila le programme un peu modifié pour voir le résultat(j'avais fait une erreur aussi):
import time
from math import*
for a in range(0,1001,100):
t1=time.time()
for b in range(1,int((a*a-1)/2)+1):
if sqrt(a*a+b*b)%1==0:
a=int(a)
b=int(b)
c=int(sqrt(a*a+b*b))
print(" a=",a," b=",b," c=",c)
t2=time.time()
n=1
while n<a :
if a%2==0:
if (a*a)%(2*n)==0 and n%2==0:
a=a
b=int((a*a-n*n)/(2*n))
c=int(b+n)
print(" a=",a," b=",b," c=",c)
elif (a+1)%2==0:
if (a*a)%n==0 and (a*a)%(2*n)!=0:
a=a
b=int((a*a-n*n)/(2*n))
c=int(b+n)
print(" a=",a," b=",b," c=",c)
n+=1
t3=time.time()
print("a=",a," ",t2-t1," ",t3-t2)
Je penses que comme ca tu comprendras vite.
Après pour les triangles 3/4/5 et non 4/3/5 je modifierais le programme.
Et il y a d'autres trucs que je dois améliorer, j'avais calculé les maximum de b en fonction a mais pas le minimum, des trucs dans le genre.
#209 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 23-12-2015 23:37:05
Bonsoir,
je suppose que 3/4/5 et 4/3/5 c'est deux solutions différentes
Pour moi, non...
Réponse faite au vu de mon expérience des carrés magiques...
Tu prends le calque du triangle 3,4,5 qu'est ce qui t'empêche de l'appliquer exactement sur le 4,3,5 ?
S'ils étaient différents, ils ne devraient pas être superposables, non ?
Ah, tu vas me dire que les lettres ne sont plus au même endroit ?
Dans ce cas le triangle ABC tels que AB=3, AC =4, BC = 5 et le triangle ABC tel que Ba =3, BC =4 et AC = 5 seraient des triangles différents...Au passage :
n étant un entier impair (supérieur à 1) : [tex]n[/tex], [tex]\frac{n^2-1}{2}[/tex], [tex]\frac{n^2+1}{2}[/tex] sont les côtés du triangle rectangle.@+
[EDIT] Je pars demain et Vendredi, je rentre Samedi.
J'espère pouvoir me connecter entre-temps
Salut,
merci pour ton indice m'ai j'était déjà au courant en fait^^ d’ailleurs ce n'est pas l'unique solution parfois mais bon je ne t'apprends rien.
Pour le programme j'ai trouvé une "solution" pour bien faire comprendre que le 2eme est plus rapide ! Mais bon j'aimerais quand même connaître l'unité dont j'ai parlé pour peu qu'elle ne soit pas le fruit d'un quiproquo.
Concernant le fait de savoir si 3/4/5 et 4/3/5 sont les mêmes rectangles, il y a quand même marqué dans l'énoncé que:
Un ensemble de points du plan est dit intégral si et seulement si la distance entre deux points quelconques de cet ensemble est un nombre entier. Quels sont les triangles rectangles intégraux ?
Donc si on regarde en premier des coordonnées de points, ca change peut-être la donne mais bon je n'ai qu'à le prendre à mon avantage selon les situations :)
Voila le programme que j'ais fait si ca vous intéresse:
La première partie du programme c'est censé être le programme idiot et le deuxième celui un peu moins idiot :/ et le programme affiche le temps de calculs pour différentes grandes valeurs de a.
Par contre le résultat est un poil faussé car en plus de faire fonctionner le programme je fais des trucs comme écrire ce message donc ce qui doit faire fluctuer les performances de mon PC.
programme:
>>>
import time
from math import*
for a in range(0,10001,1000):
t1=time.time()
for b in range(1,int((a*a-1)/2)+1):
if sqrt(a*a+b*b)%1==0:
a=int(a)
b=int(b)
c=int(sqrt(a*a+b*b))
#print(" a=",a," b=",b," c=",c)
t2=time.time()
n=1
while n<a :
n+=1
if a%2==0:
if (a*a)%(2*n)==0 and n%2==0:
a=a
b=int((a*a-n*n)/(2*n))
c=int(b+n)
#print(" a=",a," b=",b," c=",c)
elif (a+1)%2==0:
if (a*a)%n==0 and (a*a)%(2*n)!=0:
a=a
b=int((a*a-n*n)/(2*n))
c=int(b+n)
#print(" a=",a," b=",b," c=",c)
t3=time.time()
print("a=",a," ",t2-t1," ",t3-t2)
>>>
résultat:
>>>
a= 0 0.0 0.0
a= 1000 0.7710440158843994 0.002000093460083008
a= 2000 3.086176872253418 0.003000020980834961
a= 3000 7.104407072067261 0.005000114440917969
a= 4000 13.303761005401611 0.007001161575317383
a= 5000 20.817189931869507 0.008001089096069336
a= 6000 29.555689811706543 0.011001110076904297
a= 7000 40.7913339138031 0.014000177383422852
a= 8000 58.18732810020447 0.013000965118408203
a= 9000 73.19118690490723 0.018001079559326172
a= 10000 89.3801121711731 0.01500082015991211
>>>
#210 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 23-12-2015 18:35:03
Bonjour,
Trouver les triangles rectangles intégraux, c'est trouver les triplets pythagoriciens.
Ostap Bender.
Salut,
Oui je sais, donc je suppose que 3/4/5 et 4/3/5 c'est deux solutions différentes mais j'aimerais en être sur.
#211 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 23-12-2015 16:34:26
Re,
Une autre question aussi:
L'année dernière il me semble avoir entendu des gens parler d'une "unité" pour caractériser la vitesse d'un programme et j'aimerais bien savoir cette unité et savoir si je peux la calculer sur deux programmes que j'ai fais. Si jamais cela n'existe pas, je dirais juste que le deuxième est bien plus rapide...
#212 Re : Café mathématique » Belle formule n'est-il pas ? » 22-12-2015 17:08:23
Joyeux Noël à toi aussi :)
#213 Re : Entraide (supérieur) » Mon "projet" semestre 1 » 22-12-2015 17:06:23
Re,
Petite question : quand je compte les triangles, imaginez les coté a en abscisse(positif), b en ordonné(positif) et c l’hypoténuse est-ce que les triangles a=6, b=8, c=10 et a=8, b=6, c=8 sont les mêmes ? D'un coté je me dis que un triangle est juste défini par la longueur de ses cotés et de l'autre je vois que si j'effectue une rotation à l'un, je n’obtiens pas l'autre.
PS: J'ai une solution au problème mais elle nécessite l'utilisation des diviseurs du carré de a... Ce n'est je trouves donc pas une solution efficace.
#214 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 22-12-2015 11:10:27
Il est peut-être temps que je me range des voitures ... :-)
Re, ca veut dire quoi "ranger des voitures" ?
#215 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 21-12-2015 20:07:01
Bonjour Terces
▼réponse
Salut,
Je vais réfléchir à tous ca un jour mais pour le moment j'ai le projet de maths qui m'énerve, je pensais que ma conjecture était parfaite avant que mes espoirs se brisent :( j'espère que je vais trouver un truc assez bien.
#216 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 20-12-2015 15:50:18
Re,
J'ai trouvé 23/96 puis j'ai lu le calcul de freddy et j'était sur le point de dire qu'il avait raison mais je ne sais plus pourquoi je me suis dit que en fait pas forcément: En gros je suis une variable neutre...
Je vais tenter de retrouver pourquoi je me suis dit qu'il n'avait pas forcément raison et si cela s'avère fondé je vous tient au courant de mon humble avis^^
Pour ce qui est de mon calcul:
la probabilité d'une rencontre dans des villes différentes est selon moi 5/8*3/8 + 3/8*5/8 = 15/32
la probabilité de sexes différents je trouves 5/9*3/5 + 4/9*2/5 = 23/45
et le produit des deux me donne 23/96
#217 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 16-12-2015 08:00:54
bonsoir Terces
Si je te dis que le nombre de célibataires ne peut pas être 27, est-ce que cela peut t'aider?
Ha ok je crois que je vois la différence en effet, désolé^^ j'essayerais le calcul demain soir si tout va bien.
#218 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 15-12-2015 22:46:16
Bonsoir,
Je ne comprends pas comment juste en disant que le nombre de célibataires est 27 par exemple, je peux comprendre l’énoncé en gardant les dites proportions garçon/fille ou des villes.
Je veux bien une reformulation de ta question si tu ne veux pas me donner ta solution^^ mais il faudra bien un jour qu'on sache la vérité si personne d'autre ne se prononce.
#219 Re : Entraide (supérieur) » tout point irrationnelle est une limite d'une suite rationnelle » 14-12-2015 22:23:28
Enfin j'ai pas montré grand chose :(
Sinon je ne sais pas mais peu-être aller voir la courbe de Peano en disant que pour un certain n, on obtient forcément un irrationnel (entre 0 et 1) mais peut-être généraliser ca assez simplement pour un irrationnel quelconque ?
Après, je ne suis qu'un l1 donc je tente juste de donner des idées mais concrètement je n'ais pas de démo.
#220 Re : Entraide (supérieur) » tout point irrationnelle est une limite d'une suite rationnelle » 14-12-2015 22:17:40
Salut, j'ai peut-être une idée mais elle reprend aussi la partie entière...
U0=0
Un+1=Un+E((x-Un)*10n)/10n ou x est l’irrationnel.
J'ai testé pour Pi ca m'a eu l'air de marché...
#221 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 14-12-2015 21:31:02
Désolé, je ne vois pas^^ pour moi cette quantité ne change rien, je me viens voir ta solution pour essayer de comprendre ce que tu veux dire si j'ai apparemment traité le cas le plus difficile ;)
#222 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 14-12-2015 14:12:47
Ok,
Mais avec ces 24+ célibataires quelles sont les proportions ? Si les proportions ne changent pas il me semble que le résultat sera le même.
#223 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 13-12-2015 22:47:25
bonsoir
Je ne vois pas ce que ca change étant donné qu'il n'y a qu'une rencontre il me semble. Tous ceux qui ne sont pas des célibataires ne nous intéressent pas.
PS: tu penses quoi de nos réponses ?
#224 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » abri » 12-12-2015 09:55:53
Salut,
A oui au fait, je ne comprends pas très bien ta 2ème question...
#225 Re : Enigmes, casse-têtes, curiosités et autres bizarreries » Une approximation de racine de Pi de mon cru. Inédite je pense. » 10-12-2015 22:50:21
Salut, désolé de ne pas t'avoir répondu plus tôt mais je ne connais pas cette notion de développement en fractions continues, ni ce que tu viens d'écrire mais je ferais des recherches demain soir je penses, ça à l'air intéressent.
Re, j'ai fait mes recherches et c'est en effet assez étonnant de voir un tel chiffre dans une "division euclidienne" mais vu qu'on parle d’irrationnels ou juste de quotient, pourquoi pas mais il faut que je continues mes recherches pour avoir une meilleur opinion.







