π
<-

[HELP] programme en c++ "multiplications"

Discussions scientifiques et scolaires

[HELP] programme en c++ "multiplications"

Unread postby nikitouzz » 25 Feb 2014, 00:16

Bonjour, je voudrais calculer un nombre premier avec plus d' 1millions de chiffres (un pari avec un pote....)....

pour ça quoi de plus plus simple que la formule P(n)=n!+1 X)

Mais pour faire un nombre avec plus d' 1 millions de chiffre je dois faire des GROOOSSSEEESS multiplications !

Donc soit il existe déjà un programme pour ceci sur Windows ;)

soit je dois le programmer en c++ !

si je dois le programmer :
-quel technique le conseiller vous pour programmer la multiplications de deux chaîne de caractère en c++ ? genre "12"*"50"="600 ?
-on peux tester la longueur d'une chaîne d'1 millions au moins de caractère ?
-que me conseiller vous ?...4


merci d'avance :)
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes

megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

Image
User avatar
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 42.7%
 
Posts: 1016
Images: 1
Joined: 16 Feb 2012, 18:39
Gender: Male
Calculator(s):
MyCalcs profile
Class: Fac de maths

Re: [HELP] programme en c++ "multiplications"

Unread postby Excale » 25 Feb 2014, 00:21

nikitouzz wrote:Donc soit il existe déjà un programme pour ceci sur Windows ;)


Si tu optes pour la solution toute faite, regarde parmi (sans ordre):
-MPIR
-BigInt
-GMP
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: [HELP] programme en c++ "multiplications"

Unread postby nikitouzz » 25 Feb 2014, 00:23

J'ai regarder GMP mais incapable de l'installer !
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes

megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

Image
User avatar
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 42.7%
 
Posts: 1016
Images: 1
Joined: 16 Feb 2012, 18:39
Gender: Male
Calculator(s):
MyCalcs profile
Class: Fac de maths

Re: [HELP] programme en c++ "multiplications"

Unread postby Bisam » 25 Feb 2014, 08:09

Non, programme-le !
C'est un super bon exercice...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: [HELP] programme en c++ "multiplications"

Unread postby Lionel Debroux » 25 Feb 2014, 18:51

Avec GMP / MPIR, il est en effet trivial de gérer des nombres qui font des millions de chiffres.
Programmer soi-même ce genre d'algorithmes prend plus de temps, naturellement ^^

Sauf rare exception (certaines classes précises de nombres tels que les nombres de Mersenne 2^p-1 et quelques autres), il est impossible de déterminer à coup sûr la primalité d'un nombre d'un million de chiffres. Seuls les algorithmes probabilistes comme Rabin-Miller donnent une réponse "probablement premier".
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: [HELP] programme en c++ "multiplications"

Unread postby nikitouzz » 25 Feb 2014, 19:00

mais on peux generer facilement des nombre premier de N chiffre N→oo avec n!1 entre autres ! comment utiliser GMP ? ou MPIR ?
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes

megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

Image
User avatar
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 42.7%
 
Posts: 1016
Images: 1
Joined: 16 Feb 2012, 18:39
Gender: Male
Calculator(s):
MyCalcs profile
Class: Fac de maths

Re: [HELP] programme en c++ "multiplications"

Unread postby Excale » 25 Feb 2014, 19:02

nikitouzz wrote:comment utiliser GMP ? ou MPIR ?

:bat: Il faut réussir à compiler la lib :bat:
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: [HELP] programme en c++ "multiplications"

Unread postby Bisam » 25 Feb 2014, 19:45

Oui, ou encore, programmer soi-même...
Ce n'est pas la mer à boire, franchement (du moins, si l'on se contente de l'approche "triviale")
Il faut juste gérer des listes d'entiers de taille fixe (par exemple limités à 10^18, si tes entiers sont codés sur 64 bits) et programmer les 4 opérations avec gestion des retenues, etc...

Je tiens quand même à te signaler que ta fameuse formule P(n)=n!+1 ne fournit pas forcément un nombre premier !! Elle fournit un nombre dont le plus petit facteur premier est supérieur strictement à n, ce qui est complètement différent, car il faut ensuite déterminer ce facteur !

Par exemple : P(4)=25 dont le plus petit facteur premier est 5 ou encore P(13)=6227020801, dont le plus petit facteur premier est 83...
En fait, les cas où P(n) est premier sont même rares. Seuls n=2, 3, 11, 27 donnent des premiers pour n<=30.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: [HELP] programme en c++ "multiplications"

Unread postby nikitouzz » 25 Feb 2014, 19:53

Bisam mes nombre doivent avoir au moins 1 000 000 de chiffre... donc en 64 bit ça va etre compliqué !

Bisam tu aurais pas une formule pour donner un nombre premier random ?


EDIT : n*n + n + 41 marcherais.... Boisam tu saurais comment prouver que cette formule donne un nnombre premier ! ?

RE-EDIT : enfaite ca marche pour qu'un certain n max..... après y'a 2^p-1 qui fonctionne tout le temps ! mais bon faut encore trouver un p premier mais je peux faire des iterations....
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes

megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

Image
User avatar
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 42.7%
 
Posts: 1016
Images: 1
Joined: 16 Feb 2012, 18:39
Gender: Male
Calculator(s):
MyCalcs profile
Class: Fac de maths

Re: [HELP] programme en c++ "multiplications"

Unread postby Lionel Debroux » 25 Feb 2014, 19:57

Pour la simple recherche de tous les nombres dérivés d'une certaine formule, possédant une certaine propriété, sur une certaine plage, je sais que certains, sur MersenneForum, aiment beaucoup PARI/GP.

Bisam tu saurais comment prouver que cette formule donne un nombre premier ! ?

Aucune formule simple ne produit de nombre premier aléatoire pour des valeurs arbitraires de n. Rien que trouver une formule A(n) qui produit des nombres premiers quel que soit n entre 1 et 50 est très difficile, alors une formule valable pour n entre 1 et 100...

après y'a 2^p-1 qui fonctionne tout le temps ! mais bon faut encore trouver un p premier mais je peux faire des iterations....

Les nombres premiers de Mersenne sont très rares. On n'en connaît que 48, le 48ème étant 2^57885161-1, et il n'y a eu de vérification que jusqu'au 43ème (depuis hier). Voir http://mersenne.org/ .
Ce n'est pas difficile de trouver un petit nombre p premier, la division entière triviale (TF) est acceptablement rapide jusqu'à quelques milliers, voire quelques dizaines de milliers. C'est avec un bête TF (même pas de crible !) que j'ai fait ceux des problèmes du projet Euler liés aux nombres premiers auxquels j'ai répondu. Ca commencerait à être un peu lent pour répondre au problème 41, par exemple ("Pandigital prime").
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Next

Return to Maths, physique, informatique et autre...

Who is online

Users browsing this forum: ClaudeBot [spider] and 13 guests

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1180 utilisateurs:
>1133 invités
>41 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)