目录
计算糖果
题目介绍

题目分析
设A-B,B-C,A+B,B+C三个值分别为a,b,c,d,可以列出表达式为(a + c) / 2 = A,
(c - a) / 2 = B1,(b + d) / 2 = B2,(d - b) / 2 = C;通过限制条件可以知道当B1 = B2时,才能求出A,B,C的值。
代码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int d = sc.nextInt();
//通过上述公式推导出A,B,C,D的用abcd的表达式
int A = (a + c) / 2;
int B1 = (c - a) / 2;
int B2 = (b + d) / 2;
int C = (d - b) / 2;
if (B1 != B2) {
System.out.print("No");
} else {
System.out.print(A + " " + B1 + " " + C);
}
}
进制转换
题目介绍

题目分析
1.建立一个String类型的table存放余数为0-15
2.用循环将M除尽,并记录在table当中对应的余数。
注意:得判断M是否为负数。
代码
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int M = scanner.nextInt();
int N = scanner.nextInt();
boolean flg = false;
String table = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder();
if (M < 0) {
M = - M;
flg = true;
}
while (M != 0) {
//找到对应的余数并加入到StringBuilder的sb对象中
sb.append(table.charAt(M % N));
M = M / N;
}
if (flg) {
sb.append('-');
}
sb.reverse();
System.out.println(sb);
}
788

被折叠的 条评论
为什么被折叠?



