WY33 计算糖果
链接:WY33 计算糖果
题目:
A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:
A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.
现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。
题目分析:
A,B,C是三个人手里的糖果数量,我们不知道A,B,C是多少?但是我们知道A - B, B - C, A + B, B + C的结果,这个结果题目是通过输入测试用例给我们的。所以本题本质是一个表达式求解问题。
代码实现:
package Day4;
import java.util.*;
public class Day4_1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
int d = scanner.nextInt();
int A = (a+c)/2;
int C = (d-b)/2;
int B1 = (b+d)/2;
int B2 = (c-a)/2;
if (B1 != B2) {
System.out.println("No");
}else {
System.out.println(A + " " + B2 + " " + C);
}
}
}
DD5 进制转换
链接:DD5 进制转换
题目:
给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数
题目分析:
代码实现:
package Day4;
import java.util.Scanner;
public class Day4_2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
StringBuilder s = new StringBuilder();
String table = "0123456789ABCDEF";
boolean flg = false; //是否变过号
if (m < 0) {
m = -m;
flg = true;
}
while (m != 0) {
s .append(table.charAt(m % n));
m = m / n;
}
if (flg) {
s.append("-");
}
s.reverse();
System.out.println(s);
}
}