首页 > 试题广场 >

D进制的A+B (20)

[编程题]D进制的A+B (20)
  • 热度指数:20501 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

输入描述:
输入在一行中依次给出3个整数A、B和D。


输出描述:
输出A+B的D进制数。
示例1

输入

123 456 8

输出

1103
//输入已经能保证不越界,直接调用类库的方法吧
import java.util.Scanner;
 
/**
 * @ClassName Main
 * @Description TODO
 * @Author Wlison
 * @Date 2020/3/11 9:38
 * @Version 1.0
 **/
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            int d = sc.nextInt();
            System.out.println(Integer.toString(a+b,d));
        }
    }
}

编辑于 2020-03-11 10:08:31 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt() + scan.nextInt();
        int b = scan.nextInt();
        String s = "";
         do{
            s += a % b;
            a /= b;
        }while(a != 0);
        for (int i = s.length() - 1; i >= 0; i--) {
            System.out.print(s.charAt(i));
        }
    }
}

编辑于 2019-06-01 12:16:55 回复(0)
import java.util.Scanner;
public class Main{
 public static void main(String[] args) {
  Scanner in=new Scanner(System.in);
  while(in.hasNext()) {
  long a=in.nextLong();
  long b=in.nextLong();
  long c=a+b;
  int d=in.nextInt();
  String s="";
  do {
   s+=c%d;
   c/=d;
  }while(c>0);
  for(int i=s.length()-1;i>=0;i--) {
   System.out.print(s.charAt(i));
  }
 }
}
}

发表于 2019-03-09 16:59:00 回复(0)
给一个比较简洁的答案吧
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int a=in.nextInt(),b=in.nextInt(),d=in.nextInt();
		print(a+b, d);
	}
	public static void print(int n,int d) {
		String str="";
		for (int i = n; i > 0 ; i/=d) 
			str=(i%d)+str;
		System.out.println(str);
	}
}

发表于 2018-05-16 14:16:59 回复(0)
import java.math.*;
import java.util.*;
public class Main {                   public static void main(String[] args) {         Scanner input = new Scanner(System.in);         int a = input.nextInt();         int b = input.nextInt();         int limit = input.nextInt();         System.out.println(Integer.toString(a+b,limit));     }                     }
编辑于 2018-03-02 19:47:08 回复(0)
import java.math.BigInteger;
import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		BigInteger A = new BigInteger(sc.nextInt()+"");
		BigInteger B = new BigInteger(sc.nextInt()+"");
		BigInteger D =  new BigInteger(sc.nextInt()+"");
		A = A.add(B);
		StringBuilder r = new StringBuilder();
		while(A.divide(D) != BigInteger.ZERO){
			r.append(A.remainder(D));
			A = A.divide(D);
		}
		r.append(A.remainder(D));
		r = r.reverse();
		System.out.println(r.toString());
	}

}


发表于 2017-08-16 20:01:11 回复(0)


import java.util.ArrayList;
import java.util.Scanner;

public class Main{
public static void main(String[] args) {
int a=0;
int b=0;
int d=0;
Scanner sc = new Scanner(System.in);
a = sc.nextInt();
b = sc.nextInt();
d = sc.nextInt();
int c = a+b;
ArrayList<Integer> list = new ArrayList<>();
while(true){
list.add(c%d);
c=c/d;
if(c%d==0 && c<=d){
break;
}
}
for(int i=list.size()-1;i>=0;i--){
System.out.print(list.get(i));
}
}
}

发表于 2017-04-05 17:41:25 回复(0)

问题信息

难度:
7条回答 21097浏览

热门推荐

通过挑战的用户

D进制的A+B (20)