我是靠谱客的博主 靓丽便当,最近开发中收集的这篇文章主要介绍Java中的大整数处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天做题遇到了一个大整数除法

题目如下:

两个巨大素数(质数)的乘积
得到两个巨大素数(质数)的乘积是简单的事,但想从该乘积分解出这两个巨大素数却是国际数学界公认的质因数分解难题。这种单向的数学关系,是不对称加密RSA算法的基本原理。 本题给出两个大素数(128bit位)的乘积和其中一个素数,请你编程求出另一个素数。

输入格式:
44022510695404470886511586569647292146578314354528108825807522926455663589709 (大素数的乘积) 189193782774204832019945226750213439577 (其中一个大素数)

输出格式:
232684764001698545563067004009755869717 (另一个素数)

输入样例:
60883665878129858935918958333091530420746054622405737630613777684610994823161
271963475875372143777333694041058521413
输出样例:
223867067745633357281812540202957589797

…Java的大整数处理:

import java.math.*;
import java.util.*;
public class mainn {
			public static void main(String []args) 
			{
				Scanner input = new Scanner(System.in);
				BigInteger a = input.nextBigInteger();
				BigInteger b = input.nextBigInteger();
				
				System.out.print(a.divide(b));
				input.close();
			}
}

很方便,不止有除法

BigInteger 大整数
BigDecimal 大浮点数

1.add(); 加法 a.add(b);

3.subtract(); 减法 a.subtract(b);

4.multiply(); 乘法 a.multiply(b);

5.divide(); 整除 a.divide(b)

6.remainder(); 取余

7.pow(); a.pow(b)=a^b

8.gcd(); 最大公约数

9.abs(); 绝对值

10.negate(); 取反数

最后

以上就是靓丽便当为你收集整理的Java中的大整数处理的全部内容,希望文章能够帮你解决Java中的大整数处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部