Trouver le modulo d'un grand nombre

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Trouver le modulo d'un grand nombre

Message par Ar-S »

Bonjour,
Je me suis replongé dans les contests online.
Pour l'un d'eux, je dois trouver les modulos de très grands nombres.

Ex : 500000^180351 divisé par 30931

J'essaye donc en ecrivant

Code : Tout sélectionner

r.f = Mod (Pow (500000.0,180651.0), 30931)
Mais j'obtiens NaN
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Trouver le modulo d'un grand nombre

Message par Marc56 »

Déjà si tu fais ça:

Code : Tout sélectionner

Debug Pow (500000.0,180651.0)
Tu obtiens ça:

Code : Tout sélectionner

+Infinity
https://www.purebasic.com/french/docume ... inity.html

Donc pour la suite, ç'est NaN
https://www.purebasic.com/french/docume ... h/nan.html
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Trouver le modulo d'un grand nombre

Message par Ar-S »

Oui... mais peut on resoudre ce soucis en PB ?
On peut en python, C, php, javascript..
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
zaphod_b
Messages : 76
Inscription : mar. 09/déc./2014 20:02

Re: Trouver le modulo d'un grand nombre

Message par zaphod_b »

Salut,

Pour calculer le modulo de très grands nombres :

Code : Tout sélectionner

Procedure emod(n.s,modulo)
  Protected lrv=1,rez
  n=ReverseString(n)
  ;
  For i=0 To Len(n)-1
    If i>0
    lrv=(lrv*10)%modulo  
    EndIf
    rez+lrv*Val(Mid(n,i+1,1))
  Next
  rez=rez%modulo
  ProcedureReturn rez  
EndProcedure

Debug 12346789%97
Debug emod("12346789",97)
Debug emod("123123456487897456123122348987456456789456",97)

Avatar de l’utilisateur
Guillot
Messages : 529
Inscription : jeu. 25/juin/2015 16:18

Re: Trouver le modulo d'un grand nombre

Message par Guillot »

chapeau !

t'en a beaucoup des codes dans le genre ?
Shadow
Messages : 1373
Inscription : mer. 04/nov./2015 17:39

Re: Trouver le modulo d'un grand nombre

Message par Shadow »

Pas mal 8O
Se qui manque à Pure Basic, c'est une lib pour calculer sur de très grand nombre.

zaphod_b, si jamais tu ne sais pas quoi faire, vue que t'es plutôt bon on dirait ^^
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Trouver le modulo d'un grand nombre

Message par Zorro »

Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Répondre