PGCD, PPCM, ET FACTORISATION DE PLUSIEURS NOMBRES

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 12 juin 2004 à 15:18
cs_naylouvar Messages postés 37 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 4 mai 2010 - 3 nov. 2006 à 16:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23632-pgcd-ppcm-et-factorisation-de-plusieurs-nombres

cs_naylouvar Messages postés 37 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 4 mai 2010
3 nov. 2006 à 16:00
Decimal, constructeur (UInt64)

Initialise une nouvelle instance de Decimal avec la valeur de l'entier non signé 64 bits spécifié.
C++

// Example of the Decimal( unsigned __int64 ) constructor.
using namespace System;

// Create a Decimal object and display its value.
void CreateDecimal( unsigned __int64 value, String^ valToStr )
{
Decimal decimalNum = Decimal(value);

// Format the constructor for display.
String^ ctor = String::Format( "Decimal( {0} )", valToStr );

// Display the constructor and its value.
Console::WriteLine( "{0,-33}{1,22}", ctor, decimalNum );
}

int main()
{
Console::WriteLine( "This example of the Decimal( unsigned "
"__int64 ) constructor \ngenerates the following output.\n" );
Console::WriteLine( "{0,-33}{1,22}", "Constructor", "Value" );
Console::WriteLine( "{0,-33}{1,22}", "-----------", "-----" );

// Construct Decimal objects from unsigned __int64 values.
CreateDecimal( UInt64::MinValue, "UInt64::MinValue" );
CreateDecimal( UInt64::MaxValue, "UInt64::MaxValue" );
CreateDecimal( Int64::MaxValue, "Int64::MaxValue" );
CreateDecimal( 999999999999999999, "999999999999999999" );
CreateDecimal( 0x2000000000000000, "0x2000000000000000" );
CreateDecimal( 0xE000000000000000, "0xE000000000000000" );
}

/*
This example of the Decimal( unsigned __int64 ) constructor
generates the following output.

Constructor Value
----------- -----
Decimal( UInt64::MinValue ) 0
Decimal( UInt64::MaxValue ) 18446744073709551615
Decimal( Int64::MaxValue ) 9223372036854775807
Decimal( 999999999999999999 ) 999999999999999999
Decimal( 0x2000000000000000 ) 2305843009213693952
Decimal( 0xE000000000000000 ) 16140901064495857664
*/
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
13 juin 2004 à 17:01
de rien ;)
tu a la classe de BlackGoddess pour aller plus loin

http://www.cppfrance.com/code.aspx?ID=10720
cs_jb60 Messages postés 55 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 4 août 2008
13 juin 2004 à 14:31
Voilà, la source a été mise à jour avec les __int64, merci beaucoup...

:-)
cs_jb60 Messages postés 55 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 4 août 2008
13 juin 2004 à 13:43
__int64, je l'ecris avec les deux __devant ? C'est quoi ces deux machins???
Je ne connaissais même pas, lol. Je suis vraiment nul en c++, va falloir que je lise des livres ou que je prennes des cours, pour m'y mettre sérieusement...

khayyam, ici, pour le unsigned machin, je ne pouvais pas l'utiliser car dans mon code, j'utilise justement le fait que lorsque la limite du machin est atteinte, alors ensuite on obtient un nombre négatif, ce qui n'est pas vrai avec des unsigned machin, vu que tous les nombres sont obligatoirement positifs...
J'ai bien vu qu'il y avait le header <limits.h>, avec les constantes MAX_INT, etc. mais je n'ai pas réussi à les utiliser dans un programme pour que ce soit fonctionnel.

Voilà tout, en vous remerciant pour vos commentaires, et encore une fois, merci djl, membre (toujours) très actif au sein de la communauté cppfrance.
cs_khayyam Messages postés 51 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 15 juillet 2005
13 juin 2004 à 09:08
penser aussi au type unsigned machin pour doubler la plage de valeurs
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
12 juin 2004 à 15:18
tu a le type __int64, sur 64 bits, limite 4milliard x celle d'un int
Rejoignez-nous