2024年蓝桥杯JavaB组第一题

这一题是一个找规律题,也可以用BigInteger来写

1.找规律:

public class 第一题 {
	public static void main(String[] args) {	
            long a=202420242024l/2;
		    long b=24*a;
		    System.out.println(b);
    }
}

奇数个是20的倍数,偶数个是24的倍数,202420242024个是24的倍数,是202420242024/2个相加,即202420242024/2*24

注意long型数据后要加一个L

2.用biginteger

先写一个错误的

import java.math.BigInteger;
public class 第一题 {
	public static void main(String[] args) {	
         BigInteger a=BigInteger.valueOf(2429042904288);
	     BigInteger b=a.mod(2);
	     BigInteger c=b*24;
	     System.out.println(c);
    }
}

这里面有很多错误,通过错误快速学会BigInteger基本用法

(1)

BigInteger.valueOf(___1___)1的位置中因该填一个数,这个数不能超过long的范围,大概10位数是int型的范围,20位数是long的范围,如果要填的数是long则需要在这个数后面添一个L

当然,还可以创建一个新的bi'ginteger对象

BigInteger a= new BigInteger("202420242024");

这时括号内填的是一个字符串,

还可以这样写

String s="202420242024";

BigInteger a= new BigInteger("s");(错误)

这里要注意"s"是不对的,因为这时将一个字符"s"输入进去了,正确的应该是  sBigInteger a= new BigInteger(s);

(2)

第二行有两个错误,一是知道了Big要用a,s,m,d四个英文来表示加减乘除,但没有记对,蓝桥杯考试中记住asmd四个字母,再按快加键自动提示即可eclipse中自动补全是alt+/

add,subtract,multiply,divide中应该用divide,其次小括号中应该用Big对象,要将int型转换成big型,正确写法是:

BigInteger b=a.divide(BigInteger.valueOf(2));

(3)

第三行错误是big型不支持+ - * /,

要用multiply,其次是应该用Big对象,要将int型转换成big型

正确写法为:

BigInteger c=b.multiply(BigInteger.valueOf(24));

import java.math.BigInteger;
public class 第一题 {
	public static void main(String[] args) {	
        String s="202420242024";
		BigInteger a= new BigInteger(s);
		BigInteger b=a.divide(BigInteger.valueOf(2));
	    BigInteger c=b.multiply(BigInteger.valueOf(24));
	    System.out.println(c);
    }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值