PAT B1022 java
下面这个是偷懒版:
从该处看到,觉得甚是巧妙,转载地址如下:
https://blog.****.net/TonyHTY/article/details/102555263
解决方法二:
正常思路版:
首先将A+B的和存在c里面,然后d进制;c%d得到的余数暂存在temp,每次得到的余数存在output里面,然后c=c/d;更新被除数。当被除数为0的时候,计算结束。
定义一个String类型的字符串output,用来存d进制下的余数,这样可以直接输出。
注意事项:在d进制中,当商为0的时候,调出循环,可以用while循环。
代码如下:
import java.awt.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String str[]=bf.readLine().split(" ");
int a=Integer.parseInt(str[0]);
int b=Integer.parseInt(str[1]);
int d=Integer.parseInt(str[2]);
int c=a+b;
String output="";
int temp;
while (true){
temp=c%d;
c=c/d;
output=temp+output;
if(c==0){
System.out.println(output);
break;
}
}
}// main
}
运行截图: