2023年第十四届蓝桥杯JAVA B组填空题

JAVA B组题目下载链接

试题 A: 阶乘求和

令 S = 1! + 2! + 3! + … + 202320232023! 求 S 的末尾 9 位数字。

本题目的核心思想与2022年JAVAB组第五题思想一致

核心就是阶乘大到一定地步时,末尾会出现很多0,所以说求最后九位数并不需要将S算出来,只需要算到至多55的时候就能观察到最后九位是不变的

如果纯暴力算的话,我在场上跑了一个小时,根本跑不完

package lanqiao2023;

import java.math.BigInteger;

public class A {
    public static void main(String[] args) {
        BigInteger i = new BigInteger("1");
        BigInteger end = new BigInteger("55");
        BigInteger temp = new BigInteger("1");
        BigInteger s = new BigInteger("0");
        while (i.compareTo(end)<=0){
            temp = temp.multiply(i);
            s = s.add(temp);
            i = i.add(BigInteger.ONE);
            System.out.println(s);
        }
    }
}

试题 B: 幸运数字

哈沙德数是指在某个固定的进位制当中,可以被各位数字之和整除的正整数。例如 126 是十进制下的一哈沙德数,因为 (126)10 mod (1+2+6) = 0;126也是八进制下的哈沙德数,因为 (126)10 = (176)8,(126)10 mod (1 + 7 + 6) = 0;同时 126 也是 16 进制下的哈沙德数,因为 (126)10 = (7e)16,(126)10 mod (7 +
e) = 0。小蓝认为,如果一个整数在二进制、八进制、十进制、十六进制下均为哈沙德数,那么这个数字就是幸运数字,第 1 至第 10 个幸运数字的十进制表示为:1 , 2 , 4 , 6 , 8 , 40 , 48 , 72 , 120 , 126 . . . 。现在他想知道第 2023 个幸运数字是多少?你只需要告诉小蓝这个整数的十进制表示即可。

这道题相对较为简单,只需要掌握一个求各进制下每位数和的方法即可

这个方法的思路就是对n取模,取出n进制下的最后一位,累加到s上,然后再让x除以n,让它的最后一位消失

    public static int check(int x,int n){//x代表数,n代表进制
        int s = 0;
        while (x/n>0){
            int a = x%n;
            s = s+a;
            x = x/n;
        }
        return x+s;
    }

主方法内调用即可

package lanqiao2023;

public class B {
    public static int check(int x,int n){
        int s = 0;
        while (x/n>0){
            int a = x%n;
            s = s+a;
            x = x/n;
        }
        return x+s;
    }
    public static void main(String[] args) {
        int ans = 1;
        int i =1;
        while (ans<=2023){
            if(i%check(i,2)==0&&i%check(i,8)==0&&i%check(i,10)==0&&i%check(i,16)==0){
                System.out.println(ans+" "+i);
                ans++;
            }
            i++;
        }
    }
}
版权声明:除特殊说明,博客文章均为栋dong原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。
如有需要,请在留言板留言,或者添加我的QQ或者微信
我只是一个学生,如有错误或者侵权,请联系我,谢!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇