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);}
}