首页 > 试题广场 >

进制A+B

[编程题]进制A+B
  • 热度指数:36013 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-231~231-1)。

输入描述:
一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。


输出描述:
一行,a+b的十进制结果。
示例1

输入

0x12 05

输出

23

备注:
十六进制Hexadecimal一般以0x开头,例如0xFF。八进制Octal,一般以0开头,例如07。
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String a = in.next();
        String b = in.next();
        String a1 = a.substring(a.indexOf("x")+1);
        String b1 =b.substring(1);
        System.out.print(Integer.parseInt(a1,16)+Integer.parseInt(b1,8));
    }
}

发表于 2024-02-25 19:40:20 回复(0)

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        String input = in.nextLine();

        String[] arrs = input.split(" ");

        int a = Integer.parseInt(arrs[0].substring(2), 16);

        int b = Integer.parseInt(arrs[1].substring(1), 8);

        System.out.println(a + b);

    }
}


发表于 2023-10-02 17:36:51 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String a=sc.next(),b=sc.next();
        int c=Integer.parseInt(a.substring(2),16);
        int d=Integer.parseInt(b.substring(1),8);
        System.out.println(c+d);
    }
}

发表于 2022-08-11 20:03:40 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
           String[] strs = scanner.nextLine().split(" ");
           int hexNumtoChangeDec = Integer.parseInt(strs[0].substring(2),16);
           int octNumtoChangeDec = Integer.parseInt(strs[1].substring(1),8);
           int addTwoDiffNum = hexNumtoChangeDec + octNumtoChangeDec;
           System.out.println(addTwoDiffNum);
        }
    }
}

发表于 2022-06-23 11:15:31 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        String output=input.nextLine();
        String [] result=output.split(" ");
        int sum=Integer.parseInt(result[0].substring(2),16)+Integer.parseInt(result[1].substring(1),8);
        System.out.print(sum);
        }
}

发表于 2022-04-26 16:43:28 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.next();
        String e = in.next();
        String num1 =s.substring(2,s.length());
        String num2 =e.substring(1,e.length());
        int a = Integer.parseInt(num1, 16);
        int b = Integer.parseInt(num2, 8);
        System.out.println(a+b);
    }
}

发表于 2021-10-19 14:16:52 回复(0)
//字符串相关方法为关键
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String[] strs = scan.nextLine().split(" ");
        int a = Integer.parseInt(strs[0].substring(2), 16);
        int b = Integer.parseInt(strs[1].substring(1), 8);
        System.out.println(a + b);
    }
}

发表于 2021-10-17 11:31:08 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str1 = sc.next();
        String str2 = sc.next();
        
        int num1 = str1.substring(2,str1.length());
        int num2 = str2.substring(1,str2.length());
        
        int a = Integer.valueOf(num1,16);
        int b = Integer.valueOf(num2.8);
        System.out.println(a+b);
    }
}

发表于 2021-04-13 21:48:13 回复(0)
import java.util.*;
public class Main
{
    public static void main(String args[])
    {
        Scanner input=new Scanner(System.in);
        String s[]=input.nextLine().split(" ");
        int a=Integer.parseInt(s[0].substring(2),16);
        int b=Integer.parseInt(s[1].substring(1),8);
        System.out.println(a+b);
    }
}


发表于 2021-04-05 21:15:30 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int sum = 0;
        //nextLine():返回回车之前的所有字符
        String[] strings = scanner.nextLine().split(" ");
        //转换时,16进制不包含0x
        sum += Integer.parseInt(strings[0].substring(2),16);
        sum += Integer.parseInt(strings[1],8);
        System.out.println(sum);
    }
}
发表于 2021-03-16 09:32:52 回复(0)
import java.util.Scanner;

/**
 * 计算进制之间的加法
 */
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String str1=sc.next();
        String str2=sc.next();

        String num1=str1.substring(2,str1.length());
        String num2=str2.substring(1,str2.length());

        int a=Integer.valueOf(num1,16);
        int b=Integer.valueOf(num2,8);
        System.out.println(a+b);
    }
}

发表于 2021-01-18 13:28:13 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        String n = input.next();
        String a = n.substring(2);
        String b = input.next();
        int x = Integer.parseInt(a,16);
        int y = Integer.parseInt(b,8);
        System.out.print(x+y);
    }
}
发表于 2020-12-19 20:59:15 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        String six=input.next().substring(2);
        String eight=input.next();
        System.out.println(Integer.parseInt(six,16 )+Integer.parseInt(eight,8));
    }
}
发表于 2020-10-29 12:26:21 回复(0)
import java.util.Scanner;

public class Main{

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str=sc.nextLine();
        String[] arr=str.split(" ");
        arr[0] = arr[0].substring(2,arr[0].length());
        arr[1] = arr[1].substring(1,arr[1].length());
        int x = Integer.valueOf(arr[0], 16);
        int y = Integer.valueOf(arr[1], 8);
        int sum=x+y;
        System.out.println(sum);
    }

}

发表于 2020-09-09 15:38:37 回复(0)
import java.util.Scanner;
 
public class Main{
 
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String i = sc.next();
            String m = sc.next();
            i = i.substring(2,i.length());
            m = m.substring(1,m.length());
            int x = Integer.valueOf(i, 16);
            int y = Integer.valueOf(m, 8);
            
            System.out.println(y+x);
        }
        }
}
java似乎只能这么麻烦了...
发表于 2020-04-08 16:07:05 回复(0)

利用Integer.valueOf()方法可以把其他进制转成10进制

import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext())
        {
            String str1=sc.next();
            String str2=sc.next();

            String num1=str1.substring(2,str1.length());
            String num2=str2.substring(1,str2.length());

            int a=Integer.valueOf(num1,16);
            int b=Integer.valueOf(num2,8);
            System.out.println(a+b);
        }
    }
}
发表于 2020-03-25 22:44:10 回复(0)