StackOverflow社区的好人你好,目前我面临一个问题,我需要你的建议/帮助。 我已经编写了一个代码,它将为测试用例和我的程序将执行的每个测试用例获取用户输入并提供结果。
此外,对于每个测试用例,我也从用户那里获取了一些其他值
例如
Code
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while(T-->0){
long K = sc.nextLong();
if (K >= 2 && K <= (10 ^ 12)) {
int d0 = sc.nextInt();
int d1 = sc.nextInt();
//some additional code
}
}
所有变量,即K
,d0
,d1
第一次接受输入,但第二次d0
和d1
没有接受任何值,而是将值存储在变量K
中(对于 T> 1),我不确定为什么?!
for ex -T = 3
的值
K
、d0
和T = 3
d1
的对应值为 5 3 0T = 2
是 17 6 7 在这里,d0
和d1
的值不会被存储,而是存储在K
中,以便K = 17
然后K = 6
和循环结束(因为 T = 0
)提前感谢!
10 ^ 12
不是你所期望的。^
是按位异或运算符。
运算符将在逻辑上将每个10
位与12
进行比较,如果两个输入位中只有一个为 1(因此另一个为 0),则将在给定位处输出一个1
。
二进制中的10
是0b1010
12
二进制是0b1100
因此10
异或12
是0b0110
,在十进制中6
为了计算 10 的 12 次方,请使用Math.pow(10,12)