蓝桥冲刺31天,第四天java打卡

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

1.奇数倍数

上题目:

由题目不难理解:2019*n后,它的每一个数值都是奇数,那么我们只需要进行一次循环,然后每一个2019*n都对它进行每一位数判断是否为奇数,有一个数为偶数就跳转至下一次(减少次数)

同时,因为任意正整数*偶数都为偶,那么2019乘的数应该是一个奇数,代码如下:

public class 奇数倍数 {
    public static void main(String[] args) {
        int n=2019,s,t;
        for (int i=3;;i+=2){
            s=n*i;
            t=0;
            while (s>0){
                if ((s%10)%2==0) {
                    t=1;
                    break;
                }
                else
                    s/=10;
            }
            if (t==0){
                System.out.println(n*i);
                break;
            }
        }
    }
}

答案:139311

2.第几个幸运数字

上题目: 

它题目给的那一串3579152125273545实际上是

3    5     7   9   15   21   25  27  35   45这十个数字

因为因子只有3/5/7,所以三重循环,每一重为0-n,分别表示3/5/7的次方数,然后再将他们相乘得最终结果(为什么从0开始呢,因为每一个数的0次为1,相乘无差别,就相当于纯某个数的n次)

代码如下:

public class 第几个幸运数字 {
    public static void main(String[] args) {
        long n= 59084709587505L;
        int m=0;
        for (int i=0;Math.pow(7,i)<n;i++){
            for (int j=0;Math.pow(5,j)<n;j++){
                for (int k=0;Math.pow(3,k)<n;k++){
                    if (Math.pow(7,i)*Math.pow(5,j)*Math.pow(3,k)<n) {
                        m++;
                    }
                }
            }
        }
        System.out.println(m);
    }
}

答案:1905

3.四平方和

上题目:

 先解释一下题意吧:

把一个数n,分解成a*a+b*b+c*c+d*d,然后要求a最小,b第二小,c第三小,d最大

即:n=a*a+b*b+c*c+d*d,且a<=b<=c<=d,然后输出的时候,要输出a最小的情况

比如9:0*0+0*0+0*0+3*3是它的最小情况,虽然还有0*0+1*1+2*2+2*2

但是字典序分别为0003和0122,显然0003更小

那这题我们需要判断四个数,那么四重循环是可以获得结果的(但是超时了)

所以,最后一个循环,我们将它改为判断,判断它开方后是否为整数

也就是三次循环,三次循环结果是可以通过的

代码如下:

Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        for (int i=0;i<=Math.sqrt(n);i++){
            for (int j=i;j<=Math.sqrt(n-i*i);j++){
                for (int k=j;k<=Math.sqrt(n-i*i-j*j);k++){
                        if (Math.sqrt(n-i*i-j*j-k*k)==(int)Math.sqrt(n-i*i-j*j-k*k)) {
                            System.out.println(i + " " + j + " " + k + " " + 
(int)Math.sqrt(n-i*i-j*j-k*k));
                            return;
                    }
                }
            }
        }

4.迷宫

这题,能力有限,手推出来的,代码不会写,看了别人的代码还是不会写。。。。。。

答案:DDDDRRURRRRRRDRRRRDDDLDDRDDDDDDDDDDDDRDDRRRURRUURRDDDDRDRRRRRRDRRURRDDDRRRRUURUUUUUUULULLUUUURRRRUULLLUUUULLUUULUURRURRURURRRDDRRRRRDDRRDDLLLDDRRDDRDDLDDDLLDDLLLDLDDDLDDRRRRRRRRRDDDDDDRR

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值