Programme avec partie entière et logarithme

Bonjour,
alors voilà j'essaye de corriger mon ds d'info et je bloque sur la création d'un programme, le prof nous ayant pas encore donné la correction
voilà l'énoncé :

écrivez un script en langage python permettant de montrer les couples d'entier (m,n) avec 2=<m<n=<28 tels que m^n et n^m ont le même nombre de chiffres.
on commencera par prouver que le nombre de chiffres d'un entier N de N* est (partieentière(log(N)))+1
en python, la partie entière d'un nombre s'écrit floor(x) et le logarithme décimal log10(x)

from math import floor
from math import log10

L=[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]

for e in L:
    for i in L:
        if floor(log10(e^i))+1==floor(log10(i^e))+1 is True:
            print(e,i)


voilà ce que j'ai fait mais je ne sais pas comment continuer
merci d'avance pour vos indications

1 réponse

  1. Bonjour

    on commencera par prouver que le nombre de chiffres d'un entier N de N* est (partieentière(log(N)))+1

    L'as tu fait?

    d'entier (m,n) avec 2=<m<n=<28

    Pourquoi les appeler e et i dans ton code ?
    La condition est-elle bien respectée?

    1. merci pour ta réponse rapide

      Je ne sais pas comment faire pour prouver
      Je pensais qu'on pouvait uniquement utiliser e et i dans les boucles for
      De quelle condition parles tu ?
    2. Je ne sais pas comment faire pour prouver
      ok, mais il va te falloir y réfléchir, ça fait parti de ton énoncé.

      Je pensais qu'on pouvait uniquement utiliser e et i dans les boucles for
      non, tu peux même utiliser papa et maman, mais comme ton énoncé parle de m et n, c'est plus simple pour suivre non?

      De quelle condition parles tu ?
      m < n

      En outre
      if toto == tata:
      suffit pas la peine de rajouter is True
      Tant qu'on est dans la simplification, si X+1 égal Y+1, peut on dire que X = Y?

      Et enfin la puissance c'est pas ^, une petite recherche te permettra de trouver le bon opérateur.