PROBLÈME DE MATH IMPOSSIBLE à RESOUDRE en PYTHON :sueur:

PoiIDeFesses
2024-11-27 00:57:29

Alors voilà l'énoncé :

Le nombre de diviseurs de 120 est 16.

En fait, 120 est le plus petit nombre ayant 16 diviseurs.

Trouvez le plus petit nombre ayant 2^500500 diviseurs.

Donnez votre réponse modulo 500500507.

Autant vous dire que la méthode bruteforce je peux l'oublier directhttps://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png
Quelqu'un a une piste ? Une formule ?https://image.noelshack.com/fichiers/2017/05/1486215313-sans-titre-20-5.png

Ragedegland
2024-11-27 00:59:11

La réponse de la calcul est très simple surtout en puton alors voilà il faut écrire une formule qui permet au soustracteur divisionel de swap ton calcul pour le diviser en parti exacte en créant une boucle qui pètehttps://image.noelshack.com/fichiers/2021/32/7/1629030511-1499374046-risistasgroschefdoigt.png

PoiIDeFesses
2024-11-27 01:01:30

Le 27 novembre 2024 à 00:59:11 :
La réponse de la calcul est très simple surtout en puton alors voilà il faut écrire une formule qui permet au soustracteur divisionel de swap ton calcul pour le diviser en parti exacte en créant une boucle qui pètehttps://image.noelshack.com/fichiers/2021/32/7/1629030511-1499374046-risistasgroschefdoigt.png

C'est un problème sur la platforme Project Euler et je galère dessus, si je trouve pas je regarderais la solutionhttps://image.noelshack.com/fichiers/2017/11/1489419617-sans-titre-5.png

vladvolvodsky
2024-11-27 01:01:40

L'Op :
Si ton nombre a des diviseurs premiers, par lemme de Gauss le produit de deux diviseurs premiers est premier. 500500507=13 × 38500039, t'as que 2 facteurs premiers, donc tu peux ajouter arbitrairement ces facteurs dans ton produit de nombres premiers sans changer le modulo de ta réponse.. :hap:
T'as quasiment tout là, plus qu'à rédiger.

mirobolan
2024-11-27 01:03:10

Ah le probleme 500, j'avais galéré dessus et j'avais jamais trouvé. Demande à Motocultage si il passe par là

cdine
2024-11-27 01:03:45

500500507

PoiIDeFesses
2024-11-27 01:03:58

Le 27 novembre 2024 à 01:01:40 :
L'Op :
Si ton nombre a des diviseurs premiers, par lemme de Gauss le produit de deux diviseurs premiers est premier. 500500507=13 × 38500039, t'as que 2 facteurs premiers, donc tu peux ajouter arbitrairement ces facteurs dans ton produit de nombres premiers sans changer le modulo de ta réponse.. :hap:
T'as quasiment tout là, plus qu'à rédiger.

OK attend ça a l'air d'être une bonne piste ça
Je vais relire ce que tu as dit au calme et tenter une approchehttps://image.noelshack.com/fichiers/2017/11/1489419617-sans-titre-5.png

mirobolan
2024-11-27 01:04:42

De memoire le khey susmentionné m'avait suggéré d'utiliser un algorithme glouton joint à un sticker de pierre ménès

PoiIDeFesses
2024-11-27 01:04:42

Le 27 novembre 2024 à 01:03:10 :
Ah le probleme 500, j'avais galéré dessus et j'avais jamais trouvé. Demande à Motocultage si il passe par là

Ah je ne pensais pas que le forum connaissait je suis surprishttps://image.noelshack.com/fichiers/2022/38/4/1663852709-golemabasourdi.png

[OwO]
2024-11-27 01:04:57

ce problème qui sent le projet euler avant même que tu le dises

vladvolvodsky
2024-11-27 01:06:05

Le 27 novembre 2024 à 01:03:58 :

Le 27 novembre 2024 à 01:01:40 :
L'Op :
Si ton nombre a des diviseurs premiers, par lemme de Gauss le produit de deux diviseurs premiers est premier. 500500507=13 × 38500039, t'as que 2 facteurs premiers, donc tu peux ajouter arbitrairement ces facteurs dans ton produit de nombres premiers sans changer le modulo de ta réponse.. :hap:
T'as quasiment tout là, plus qu'à rédiger.

OK attend ça a l'air d'être une bonne piste ça
Je vais relire ce que tu as dit au calme et tenter une approchehttps://image.noelshack.com/fichiers/2017/11/1489419617-sans-titre-5.png

J'ai pas rédigé le truc en entier, mais je suis quasi certain que c'est suffisant.
PS : tu fais quoi dans la vie ? Qu'est-ce qui t'amène à faire le projet Euler ?

TheLelouch4
2024-11-27 01:06:26

Faut chercher les plus petits premiers qui marchent dans la décomposition facteur premier et boucler pour avoir les exposants.
Puis tu prend le modulo de leur produit

MAKI_OTSUKI
2024-11-27 01:06:57

c'est le PGCD ou le PPCD

MymyBE
2024-11-27 01:07:01

à ta place j'aurais abandonné khey

mirobolan
2024-11-27 01:07:40

Ah je ne pensais pas que le forum connaissait je suis surpris

Tu crois quoi c'est l'elite ici :oui: j'avais tryhard un peu le site a l'epoque mais ca fait des années que j'y ai pas touché

PoiIDeFesses
2024-11-27 01:08:56

Le 27 novembre 2024 à 01:06:05 :

Le 27 novembre 2024 à 01:03:58 :

Le 27 novembre 2024 à 01:01:40 :
L'Op :
Si ton nombre a des diviseurs premiers, par lemme de Gauss le produit de deux diviseurs premiers est premier. 500500507=13 × 38500039, t'as que 2 facteurs premiers, donc tu peux ajouter arbitrairement ces facteurs dans ton produit de nombres premiers sans changer le modulo de ta réponse.. :hap:
T'as quasiment tout là, plus qu'à rédiger.

OK attend ça a l'air d'être une bonne piste ça
Je vais relire ce que tu as dit au calme et tenter une approchehttps://image.noelshack.com/fichiers/2017/11/1489419617-sans-titre-5.png

J'ai pas rédigé le truc en entier, mais je suis quasi certain que c'est suffisant.
PS : tu fais quoi dans la vie ? Qu'est-ce qui t'amène à faire le projet Euler ?

J'ai finis mes études d'info et je cherche mon premier taff. En attendant je passe le temps en faisant ça car j'ai des lacunes en algorithmiehttps://image.noelshack.com/fichiers/2022/38/5/1663921748-ahi.png

--HailSatan--
2024-11-27 01:09:07

Demande à ChatGPT

[OwO]
2024-11-27 01:09:13

Le 27 novembre 2024 à 01:07:40 :

Ah je ne pensais pas que le forum connaissait je suis surpris

Tu crois quoi c'est l'elite ici :oui: j'avais tryhard un peu le site a l'epoque mais ca fait des années que j'y ai pas touché

tu fais quoi mirobolan maintenant t'étais à Ulm non ? :(

PoiIDeFesses
2024-11-27 01:10:49

Le 27 novembre 2024 à 01:06:26 :
Faut chercher les plus petits premiers qui marchent dans la décomposition facteur premier et boucler pour avoir les exposants.
Puis tu prend le modulo de leur produit

Ok toi aussi tu me parles des nombres premiers, alors je vais tester avec ce que ma dit le premier khey et si je trouve pas je regarderais en détail ce que tu m'as dithttps://image.noelshack.com/fichiers/2017/05/1486215313-sans-titre-20-5.png

SmartKontrakt
2024-11-27 01:12:19

import heapq

def solve():
T, M = 500500, 500500507
L = 7376507
sieve = [1] * (L + 1)
for i in range(2, int(L**0.5) + 1):
if sieve[i]:
for j in range(i * i, L + 1, i):
sieve[j] = 0
primes = (i for i, p in enumerate(sieve) if p and i > 1)
h, r = [next(primes)], 1
for _ in range(T):
x = heapq.heappop(h)
r = r * x % M
heapq.heappush(h, x * x)
if len(h) < T:
heapq.heappush(h, next(primes))
return r

print(solve())

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    ⚠️ Les archives de novembre sont désormais disponibles.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.