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 14-08-2018 19:38:24

Dattier
Membre
Inscription : 10-09-2017
Messages : 280
Site Web

Re : Calcul de Tétration

Bonsoir,

Dattier a écrit :

Pourquoi 167 ?

Elle correspond à la 167e énigme.

Bonne soirée.


Raisonnement exact : A est exacte si avec 10 exemples et pas de contre-exemples connus des concernés

Hors ligne

#52 15-08-2018 09:45:27

Wiwaxia
Membre
Lieu : Paris 75013
Inscription : 21-12-2017
Messages : 50

Re : Calcul de Tétration

@ yoshi, en réponse au message #49

C'est effectivement ce que j'ai obtenu.
La suite n'était peut-être pas très bien présentée: (b0) n'est pas défini, et pour chacun des rangs consécutifs, il faut calculer (bk), puis (ak).

La période apparaît dans les 2 premières séries de résultats (c = 1 , p = 2 ; c = 2 , p = 10).
Pour les autres, il faut poursuivre plus loin:


# c = 3      p = 52 - 2 = 50
n            b          a
1         1936        936
2        41184        184
3         8096         96
4         4224        224
...        ...        ...
49       13376        376
50       16544        544
51       23936        936
52       41184        184
# c = 4      p = 252 - 2 = 250
n            b          a
1         1936       1936
2        85184       5184
3       228096       8096
4       356224       6224
...        ...        ...
249     189376       9376
250     412544       2544
251     111936       1936
252      85184       5184
253     228096       8096
# c = 6      p = 6253 - 3 = 6250
1         1936       1936
2        85184      85184
3      3748096     748096
4     32916224     916224
5     40313856     313856
...        ...        ...
6249  19109376     109376
6250   4812544     812544
6251  35751936     751936
6252  33085184      85184
6253   3748096     748096
6254  32916224     916224
6255  40313856     313856
6256  13809664     809664
 

Dernière modification par Wiwaxia (16-08-2018 12:56:59)

Hors ligne

#53 16-08-2018 11:44:53

Dattier
Membre
Inscription : 10-09-2017
Messages : 280
Site Web

Re : Calcul de Tétration

Bonjour,

Pour ceux que cela intéresse une solution a été proposé au problème que j'avais donné :
http://forum.prepas.org/viewtopic.php?p=936857#p936857

Bonne journée.


Raisonnement exact : A est exacte si avec 10 exemples et pas de contre-exemples connus des concernés

Hors ligne

#54 08-09-2018 14:44:21

bbil
Invité

Re : Calcul de Tétration

yoshi a écrit :

Salut,


Bravo et merci.

Cette fois, ça tourne du 1er coup...
...

@+


bonjour, je vais arriver comme un cheveux sur la soupe j'ai besoin de calculer les 52 derniers chiffres de 52^^52 ... je ne vois pas comment adapter le script (a part le remplacement des 44 par 52..)

que devient :


a=powmod(t,a,spow(5,n-j)*spow(2,n-j))
 

merci

#55 08-09-2018 16:33:36

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 12 171

Re : Calcul de Tétration

Re,

Oui, rien d'autre à faire qu'à remplacer cette ligne :
n,t,h=100,44,44
par celle-ci :
n,t,h=100,52,52

Et pour l'affichage, remplacer 44 par 52:

print ("Les",t,"derniers chiffres de a sont :\n",str(a)[n-52:])

Les fonctions spow et powmod du script sont utilisables par ailleurs.
Une fois écrites, je me suis empressé de les tester sur de très grand nombres permettant d'obtenir les résultats "normalement" avec Python afin de pouvoir les comparer.
Pour le spow, elle ne fait que calculer $x^n$...
Pour le powmod, il calcule : [tex]base^n \mod modulo[/tex]
Exemple

>>> 19**23%732
595
>>> powmod(19,23,732)
595
>>>

d'après https://fr.wikipedia.org/wiki/Exponentiation_modulaire

Concernant la ligne

a=powmod(t,a,spow(5,n-j)*spow(2,n-j))

tu pourrais la remplacer par

a=powmod(t,a,spow(10,n-j))

Mais il se trouve qu'il est plus rapide de calculer spow(5,n-j)*spow(2,n-j) que spow(10,n-j)...
On n'y touche pas...


              *************************************************
              *                ... TETRATION ...              *
              *   Calcul des 52 derniers chiffres de 52^^52   *
              *************************************************




Affichage des 100 derniers chiffres :
 5831823324290066923024554781104826055945407673063907049794759811500241366481758566832663580047835136
Extraction des 52 derniers chiffres :
 3907049794759811500241366481758566832663580047835136

Calculs exécutés en 0.019001245498657227 s

Script adapté avec 52

#!/usr/bin/env python
# -*- coding: utf8 -*-


from time import time

def spow(x,n):
    e = (n - n % 2)//2
    y = (x**2)**e
    if n%2:
        y*=x
    return y

def powmod(base,n,modulo):
    result=1
    while n>0:
        if (n & 1)>0:
            result=(result*base)% modulo
        n>>=1
        base=(base*base)% modulo
    return result
   
   
n,t,h=100,52,52
a=t

print ("              *************************************************")
print ("              *                ... TETRATION ...              *")
print ("              *   Calcul des",t,"derniers chiffres de "+str(t)+"^^"+str(t)+"   *")
print ("              *************************************************")
print ("\n\n")

debut=time()
for j in range(h-1,-1,-1):
    a=powmod(t,a,spow(5,n-j)*spow(2,n-j))
Duree=time()-debut

print()
print("Affichage des",n,"derniers chiffres :\n",a)    
print ("Extraction des",t,"derniers chiffres :\n",str(a)[n-52:])

print("\nCalculs exécutés en "+str(Duree),"s"):
 

Ça te va ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#56 08-09-2018 18:26:35

bbil
Invité

Re : Calcul de Tétration

Merci, yoshi , c'est bien ce que j'avais fait ... mais non le résultat ne passe pas la suite de l'énigme...

et donc je me disais que peut-être la simplification pour 52 n'était pas la même que pour 44..

#57 08-09-2018 19:11:49

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 12 171

Re : Calcul de Tétration

Salut,

Et c'est quoi la suite de l'énigme ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#58 08-09-2018 22:07:01

bbil
Invité

Re : Calcul de Tétration

bonsoir,

en fait dans la suite de l'enigme une procédure permet de vérifier le résultat obtenu..

#59 09-09-2018 07:20:49

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 12 171

Re : Calcul de Tétration

Re,

J'ai tout revérifié par rapport à ce que disait Dattier,

j'ai trouvé une petite erreur opératoire... qui ne change pas le résultat.
Code conforme à celui de Dattier en Maple.
Petite erreur : il faut écrire

#!/usr/bin/env python
# -*- coding: utf8 -*-


from time import time

def spow(x,n):
    e = (n - n % 2)//2
    y = (x**2)**e
    if n%2:
        y*=x
    return y

def powmod(base,n,modulo):
    result=1
    while n>0:
        if (n & 1)>0:
            result=(result*base)% modulo
        n>>=1
        base=(base*base)% modulo
    return result
   
   
n,t,h=100,52,52
a=t

print ("              *************************************************")
print ("              *                ... TETRATION ...              *")
print ("              *   Calcul des",t,"derniers chiffres de "+str(t)+"^^"+str(t)+"   *")
print ("              *************************************************")
print ("\n\n")

debut=time()
for j in range(h-1,-1,-1):
    a=powmod(t,a,spow(5,n-j)*spow(2,n+j))  # ligne corrigée spow(2,n+j) au lieu de spow(n-j)
Duree=time()-debut

print()
print("Affichage des",n,"derniers chiffres :\n",a)    
print ("Extraction des",t,"derniers chiffres :\n",str(a)[n-52:])

print("\nCalculs exécutés en "+str(Duree),"s"):
 

La vraie explication est là : page 2, post #40

Je vais donc aller déjeuner, puis :
- je reprendrai toutes les explications de Dattier,
- si je ne vois rien,je solliciterai Dattier pour comprendre...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#60 09-09-2018 09:50:54

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 12 171

Re : Calcul de Tétration

Re,

J'ai repris...
Cette fois, je ne vois pas d'erreur ; je puis un peu surpris que avoir utilisé [tex]2^{n-j}[/tex] au lieu de [tex]2^{n+j}[/tex] ne change pas le résultat.
Ceci dit, l'auteur de l'énigme initiale : les 44 derniers chiffres de 44^^44, s'était trompé dans le résultat et finalement a reconnu que celui fourni par Dattier était le bon.
S'il s'agit du même auteur, pour les 52 derniers chiffres de 52^^52, peut-être s'est-il, lui de nouveau trompé ?...

Attendons...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#61 09-09-2018 11:33:56

bbil
Membre
Inscription : 09-09-2018
Messages : 2

Re : Calcul de Tétration

Bonjour,

oui on trouve toujours le même résultat avec ce nouveau code , pour l'énigme d'autre "concurents" l'on résolu est donc on peu estimer qu'il n'y a pas d'erreur (où ils ont fait tous la même ..)


n'y as t'il pas de MP sur ce forum ?

cdt.

Hors ligne

#62 09-09-2018 11:39:44

Dattier
Membre
Inscription : 10-09-2017
Messages : 280
Site Web

Re : Calcul de Tétration

Bonjour,

S'il y a une erreur elle vient probablement, du fait que l'hypothése de ce résultat n'est pas vérifier au cours d'une certaine étape :

Dattier a écrit :

Résultat 1 :

$a^n \mod N=a^{n \mod \phi(N)} \mod N$ si $(n\mod \phi(N)) > e$
avec $e=\max(\alpha_1,...,\alpha_j)$ et $N=q_i^{\alpha_1}\times ... q_j^{\alpha_j}$ les $\alpha_i\geq 1$, les $q_i$ premiers distincts.

Je vais tester.

Bonne journée.

Dernière modification par Dattier (09-09-2018 11:41:33)


Raisonnement exact : A est exacte si avec 10 exemples et pas de contre-exemples connus des concernés

Hors ligne

#63 09-09-2018 11:41:57

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 12 171

Re : Calcul de Tétration

Re,

n'y as t'il pas de MP sur ce forum ?

Non.

pour l'énigme d'autres "concurents" l'ont résolue

Diable, l'algo de Dattier serait-il faux ?...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#64 09-09-2018 11:58:11

Dattier
Membre
Inscription : 10-09-2017
Messages : 280
Site Web

Re : Calcul de Tétration

En corrigeant cela, j'obtiens :

3907049794759811500241366481758566832663580047835136

La même chose que Yoshi, donc l'hypothése du résultat de 1, ne semble pas être mis en défaut.


Raisonnement exact : A est exacte si avec 10 exemples et pas de contre-exemples connus des concernés

Hors ligne

#65 09-09-2018 11:59:37

Dattier
Membre
Inscription : 10-09-2017
Messages : 280
Site Web

Re : Calcul de Tétration

yoshi a écrit :

Diable, l'algo de Dattier serait-il faux ?...

La seule chose dont je suis sûr c'est qu'il arrive que je me trompe.

Mais ici j'ai explicité (résultat 1 et 2) les raisons pour lesquels je pense avoir raison.

Dernière modification par Dattier (09-09-2018 12:00:20)


Raisonnement exact : A est exacte si avec 10 exemples et pas de contre-exemples connus des concernés

Hors ligne

#66 09-09-2018 12:13:01

Dattier
Membre
Inscription : 10-09-2017
Messages : 280
Site Web

Re : Calcul de Tétration

Je viens de tester l'algo sur de petite valeur l'algo est effectivement faux


Raisonnement exact : A est exacte si avec 10 exemples et pas de contre-exemples connus des concernés

Hors ligne

#67 09-09-2018 12:38:25

bbil
Membre
Inscription : 09-09-2018
Messages : 2

Re : Calcul de Tétration

Re,

entre temps grâce à ce fil de messagerie j'ai pu mieux cibler mes recherches internet ( tetration modulo..)  et du coup j'ai trouvé un code python :

https://github.com/timothy-reasa/Python … uler188.py


et ce code m'a permis de valider l’énigme  ,  ce qui est étonnant c'est que dans le résultat trouvé avec votre code il n'y as un qu'un chiffre de faux le premier 3 qui devrait être 9 :

9907049794759811500241366481758566832663580047835136

merci pour vos réponses qui m'on permis de trouver la bonne voie .. A+ pour une autre énigme peut-être ...

Hors ligne

#68 09-09-2018 13:06:59

Dattier
Membre
Inscription : 10-09-2017
Messages : 280
Site Web

Re : Calcul de Tétration

Désolé je bugg, et mon pc aussi, il me donne des résultats diffèrents pour un même programme.
A ce stade c'est plus des maths mais de la sorcellerie lol.

Mais cela tourne autour du résultat 1.

Dernière modification par Dattier (09-09-2018 13:08:37)


Raisonnement exact : A est exacte si avec 10 exemples et pas de contre-exemples connus des concernés

Hors ligne

#69 09-09-2018 14:04:15

Michel Coste
Invité

Re : Calcul de Tétration

Ce code :

https://github.com/timothy-reasa/Python … uler188.py

fait visiblement l'erreur grossière de calculer comme si  [tex] b\equiv c \pmod{n} \Rightarrow a^b\equiv a^c \pmod{n}[/tex].

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante ?73 - 38
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums