Day4:算法强训(计算糖果+进制转换)java+注释代码

1.计算糖果

计算糖果_牛客题霸_牛客网

import java.util.*;
//自己换成Main函数
public class DAY4 {
    /**
     * 计算糖果
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int d = sc.nextInt();
        //由题设可知等式
        int A = (a+c)/2;
        int B1 = (c-a)/2;
        int B2 = (b + d)/2;
        int C = (d-b)/2;
        //若B1=B2 则成立
        if(B1 != B2){
            System.out.println("No");
        }else {
            System.out.print(A + " "+ B2 +" " +C);
        }
    }

2.进制转换

进制转换_牛客题霸_牛客网

import java.util.*;
public class Main{
 /**
     * 进制转换
     * N进制数:每个进制位的值分别X0*N^0 x1*N^1,x2*N^2...,x1,x2,x3 就是这些进制位的值,
     * 即进行取模余数就是当前进制的值,再通过/10 进入下一个进制位的计算
     */
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       int  m = sc.nextInt();
       int n = sc.nextInt();
       //s返回字符串方便拼接
       StringBuilder s = new StringBuilder();
       //对照表  eg :123
       String table = "0123456789ABCDEF";
       //标志位判断是否为负数
       boolean flg = false;
       if(m < 0){
           m = -m;
           flg = true;
       }
       //边界条件判断
        if(m ==0){
            System.out.println(0);
        }
        //得到当前进制的值  3 2 1
       while(m != 0){
           s.append(table.charAt(m%n));
           m = m/n;
       }
       //若为负数 则最后加-   3 2 1 -
       if(flg){
           s.append("-");
       }
       //反转字符串
       s.reverse();
       System.out.println(s);
    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值