LUCAS WILLEMS
Un étudiant de 27 ans passionné par les maths et la programmation
Un étudiant de 27 ans passionné par les maths et la programmation
Voici un résumé de l'énoncé du problème 29 "Distinct powers" du Project Euler (traduction complète en français ici) :
How many distinct terms are in the sequence generated by \(a^b\) for \(2 \leq a \leq 100\) and \(2 \leq b \leq 100\) ?
Reformulons le problème : il nous faut trouver le nombre de termes distincts pouvant être générés par \(a^b\) avec \(2 \leq a \leq 100\) et \(2 \leq b \leq 100\). Pour résoudre ce problème, la façon la plus simple, à mon sens, consiste à :
Même si cette méthode est relativement simple à mettre en place et assez rapide à exécuter, elle n'est sûrement pas optimale.
Voici le programme Python que nous pouvons utiliser pour résoudre ce problème :
powers = [] for a in range(2, 101): for b in range(2, 101): powers.append(a**b) #Suppresion de tous les doublons de la liste powers resultat = len(list(set(powers))) print(resultat)
La réponse à ce problème est 9183.
Voici les recherches relatives à cette page :
Qu'en pensez-vous ? Donnez moi votre avis (positif ou négatif) pour que je puisse l'améliorer.