概述
今天做题遇到了一个大整数除法
题目如下:
两个巨大素数(质数)的乘积
得到两个巨大素数(质数)的乘积是简单的事,但想从该乘积分解出这两个巨大素数却是国际数学界公认的质因数分解难题。这种单向的数学关系,是不对称加密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中的大整数处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复