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


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<b
          
          //求大整数绝对值
          System.out.println("a 的绝对值是:");
          System.out.println(a.abs()); //大整数a的绝对值

          //求大整数的幂
          System.out.println("a 的平方次幂是:");
          int exponent=2;
          System.out.println(a.pow(exponent)); //大整数a的exponent次幂

          //返回大整数十进制的字符串表示
          System.out.println("把大数 a 转化为字符串输出是:");
          System.out.println(a.toString()); 

          //返回大整数p进制的字符串表示
          System.out.println("大数 a 的二进制表示为:");
          int p=2;	//p = 8就是八进制表示
          System.out.println(a.toString(p));
      }
   }
}

下面是另外一个可以学习的代码:

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 可以是整数
    }
}

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

希望对你有用~


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值