java 大数取模(有可运行代码和详细注解)

2019-04-13 15:13发布


package dashu; //这是我的包名字,这个可以按规则任意起 import java.util.*; import java.math.*; public class muban{ //这是我的类名字,这个可以按规则任意起 public static void main(String args[]){ Scanner cin = new Scanner(System.in); BigInteger a, b,c; //以文件EOF结束 System.out.println("请依次输入大数 a 和 b 的值:"); while (cin.hasNext()){ a = cin.nextBigInteger(); b = cin.nextBigInteger(); System.out.println("a = "+a+" ,"+"b = "+b); System.out.println("a + b = "+a.add(b)); //大整数的加法 System.out.println("a - b = "+a.subtract(b)); //大整数的减法 System.out.println("a * b = "+a.multiply(b)); //大整数的乘法 System.out.println("a / b = "+a.divide(b)); //大整数的除法(取整) System.out.println("a % b = "+a.remainder(b)); //大整数取模 //两个大整数的大小比较 System.out.println("现在比较 a 和 b 的值大小:"); if( a.compareTo(b) == 0 ) System.out.println("a == b"); //大整数a==b else if( a.compareTo(b) > 0 ) System.out.println("a > b"); //大整数a>b else if( a.compareTo(b) < 0 ) System.out.println("a < b"); //大整数a 下面是另外一个可以学习的代码:
package dashu; import java.math.BigInteger; import java.util.Scanner; public class temp { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请依次输入大数 a ,判断是否能够被50 整除:"); while(sc.hasNext()){ BigInteger a = sc.nextBigInteger(); BigInteger mod = BigInteger.valueOf(50); BigInteger ans = a.mod(mod); //(a非负数,是始终产生非负数) ans = a.remainder(mod); // a 可以是负数 if(ans.equals(BigInteger.ZERO)){ //判断整除 System.out.println("a 能被 50 整除 YES"); }else{ System.out.println("NO"); } } //ans = ans.divide(BigInteger.valueOf(i)); //此处,i 可以是整数 //ans.mod(BigInteger.valueOf(modd))); ////此处,modd 可以是整数 } }

参考:不好意思,窗口太多,关掉了没找到,以后定会补上

希望对你有用~