首页 > 试题广场 >

进制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。
#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>hex>>a;//显示十六进制
    cin>>oct>>b;//显示八进制
    cout<<dec<<a+b<<endl;//显示十进制
}
发表于 2021-07-10 12:54:13 回复(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.*;
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());
            //用valueOf()方法转换
            System.out.print(Integer.valueOf(num1,16)+Integer.valueOf(num2,8));
        }
    }
}

发表于 2020-09-22 09:39:25 回复(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)
#include <stdio.h>
int main()
{
    int a,b,sum;
    scanf("0x%x 0%o",&a,&b);
    sum=a+b;
    printf("%d\n",sum);
}

发表于 2020-04-10 11:58:37 回复(1)
#include<stdio.h>
int main(void){
    int a, b;
    
    scanf("%x %o", &a, &b);  // %x:十六进制      %o:八进制
    printf("%d\n", a + b);  // 计算机里面都是二进制,所以可以直接相加,然后以%d十进制的形式打印出来
    
return 0;
}
%x:十六进制      %o:八进制
计算机里面都是二进制,所以可以直接相加,然后以%d十进制的形式打印出来
发表于 2022-01-29 14:07:44 回复(1)
#include <iostream>
using namespace std;

int main()
{
    int a, b;
    cin >> hex >> a >> oct >> b;
    cout << dec << a + b << endl;
    return 0;
}
发表于 2020-03-22 17:01:36 回复(1)
h,shi=map(str,input("").split(' '))
total=int(h,16)+int(shi,8)
print(total)

发表于 2020-11-06 20:10:48 回复(2)
#include<stdio.h>
int main()
{
    int a;
    int b;
    scanf("%x %o",&a,&b);
    printf("%d\n",a+b);
    
    return 0;
}

发表于 2022-05-12 14:59:49 回复(0)
#include<stdio.h>
int main() {
    int a,b;
    scanf("%x%o",&a,&b);
    printf("%d",a+b);
}

发表于 2021-08-31 23:41:56 回复(0)
#include<stdio.h>
int main()
{
    int a,b;
    scanf("%x%o",&a,&b);
    printf("%d",a+b);
    return 0;
}
//too easy

发表于 2021-07-07 15:10:24 回复(0)
#include<stdio.h>
int main ()
{

    int a=0x00;
    int b=00;
    scanf("%x %o",&a,&b);
    int c=0;
    c=a+b;
    printf("%d",c);
    return 0;
}
发表于 2024-03-24 14:21:32 回复(0)
#include <stdio.h>

int main()
{
    int a,b;
    scanf("%0x %o",&a,&b);
    printf("%d\n",a+b);
    return 0;
}
发表于 2023-11-04 15:31:23 回复(0)
a, b = input().split()
a = int(a, 16)  #a必须以字符串的方式出现
b = int(b, 8)
print(a + b) 

发表于 2022-08-11 10:41:29 回复(0)
nums = input().split()
num1 = int(nums[0], 16)
num2 = int(nums[1], 8)
print(num1+num2)

发表于 2022-07-29 16:18:03 回复(0)
class F():
    def base(self,a):
        try:
            # 按照空格进行切开成列表(字符串切开是列表)
            a1,a2 = a.split(' ')
            # 进制转换
            print(int(a1, 16) + int(a2, 8))
            pass
        except Exception as e:
            print(e)
        finally:
            pass
if __name__ == '__main__':
    b = input()
    F().base(b)

发表于 2022-06-10 00:12:35 回复(0)
a, b = input().split()
print(int(a, 16)+int(b, 8))

发表于 2021-12-10 19:37:40 回复(0)
#include <iostream>
using namespace std;

int main() {
	int a, b;
	cin >> hex >> a >> oct >> b;
	cout << a + b << endl;;

	return 0;
}

发表于 2021-09-19 23:04:10 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String [] args)
    {
        Scanner sc = new Scanner(System.in);
        int x1 = Integer.parseInt(sc.next().substring(2),16);
        int x2 = Integer.parseInt(sc.next().substring(1),8);
        System.out.println(x1+x2);
    }
}

发表于 2021-07-15 20:46:31 回复(1)
#include<iostream>
using namespace std;

int main(){
    int a,b;
    cin>>hex>>b>>oct>>a;
    cout<<dec<<a+b;
    
    return 0;
}

发表于 2020-08-30 19:15:04 回复(0)