胶卷很卷 2022-07-21 11:35 采纳率: 50%
浏览 35
已结题

关于#BigInteger#的问题,请各位专家解答!(语言-java)

img


7可以得到2,但是5不行得到的是0.不知道哪里错了?其他的也试过有好多也不行,是哪里用错了吗?求指教!
代码:
import java.math.BigInteger;
import java.util.Scanner;

public class n的阶乘中a出现次数BigInteger {
public static void main(String [] args) {
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
for(int i=0;i<t;i++) {

        int n=sc.nextInt();
        int a=sc.nextInt();
        int cout=0;
        BigInteger res=BigInteger.ONE;//1
        BigInteger temp=BigInteger.valueOf(10);//10
        
        //n的阶乘结果res
        for(int j=1;j<=n;j++) {
            res=res.multiply(BigInteger.valueOf(j));
        }
        System.out.println(res);
        
        while(res!=BigInteger.ZERO) {
            BigInteger b=res.mod(temp);
            System.out.println(b);
            if(b==BigInteger.valueOf(a)) {
                cout++;
            }
            res=res.divide(temp);
        }
        System.out.println(cout);
    }
    sc.close();
    

}

}

  • 写回答

3条回答 默认 最新

  • 原来我不知道啊 2022-07-21 14:03
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • foreverliuyin 2022-07-21 13:54
    关注

    你这样用b==BigInteger.valueOf(a)

    除非a的值为0,不然结果都不对
    应该改为

    b.equals(BigInteger.valueOf(a))
    
    评论
  • 快乐鹦鹉 2022-07-21 11:53
    关注

    System.out.println(res);
    这一行输出的res值对不对啊

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月30日
  • 已采纳回答 7月22日
  • 修改了问题 7月21日
  • 创建了问题 7月21日

悬赏问题

  • ¥15 电脑锁屏时vba运行SAP,excel数据不能复制到SAP
  • ¥50 74LS系列 74LS00 74LS04设计一个RS485电路(关键词-差分)
  • ¥30 各位help写一下代码
  • ¥15 在运行SDEdit模型下载不了
  • ¥15 求51控制l298n驱动的小车中超声波避障怎么写
  • ¥15 电脑连上WIFI却用不了
  • ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
  • ¥15 hyper-v出现的问题
  • ¥15 有能用的可加酬金,求可以批量下载懒人听书的软件,能登录自己帐号的。
  • ¥100 高博一起做RGB-D SLAM(5)VO无法出visualisation问题