2013-07-06 2 views
0
int p=223; 
int q=569; 
int n=p*q; 
double num=65; 
double d=100877; 
exp=Math.pow(num,d); 
c=(exp)%n; 
System.out.print(expo); 
System.out.print("\n"+Math.pow(65, 100877)); 

SORTIE: InfinityComment gérer des nombres de plus de 3000 chiffres?

mais le résultat réel a plus de 3000 chiffres, comment puis-je obtenir le numéro complet?

Répondre

6

BigInteger devrait vous aider à faire ce calcul. Mais je crains que vous pouvez utiliser Math.pow(), car il ne peut pas être en mesure de générer le grand nombre que vous désirez. Math.pow sera limitée par la plage de double car la signature de méthode utilise le double pour l'entrée et le retour de la sortie. Vous devrez peut-être implémenter votre propre méthode pow qui devrait renvoyer un BigInteger.

Editer: Je viens de vérifier et j'ai constaté que java.math.BigInteger.pow(int exponent) sera votre ami.

+0

BigInteger contient déjà la méthode mod – Divers

+0

@Divers 'mod'? C'est 'pow',' mod' ne retourne pas le pouvoir. – BackSlash

+0

Juste une erreur ( – Divers

Questions connexes