j*e
2 楼
悄悄问一下,美债降级后收益率升高,是不是买进的好机会啊?(只要不违约)
l*e
3 楼
今天才发现。
z*e
4 楼
hackerrank上的,觉得比较有意思,也不难
x和n是2个整数,
0 <= n <= 10^15
0 <= x <= n
两个限制条件
那么对于 n = 90000000000000
有多少个x满足上面2个条件,并且同时满足
x + n = x xor n
xor是整数对应的二进制表示进行bit异或
x和n是2个整数,
0 <= n <= 10^15
0 <= x <= n
两个限制条件
那么对于 n = 90000000000000
有多少个x满足上面2个条件,并且同时满足
x + n = x xor n
xor是整数对应的二进制表示进行bit异或
T*t
5 楼
没有,check out 的最后一步,可以看到,shipping fee 没有算进去
H*g
8 楼
看起来好复杂
j*e
10 楼
那为什么市场都在抛售美债?
H*g
12 楼
n已经比10^15小了,为啥还要比90000.。。。。小?
T*t
13 楼
要place order 后,会看到:
我的一个order
Shipping: $4.99
Discount: -$104.99
Subtotal: $199.99
Tax: $19.00
Total: $218.99
我的一个order
Shipping: $4.99
Discount: -$104.99
Subtotal: $199.99
Tax: $19.00
Total: $218.99
f*l
17 楼
how many can we order without being blocked? 3 per order is ok?
3 different billing shipping addresses but no changing ip will be ok?
3 different billing shipping addresses but no changing ip will be ok?
j*e
18 楼
要贬值了,那还敢买么?
H*g
20 楼
那题目不就是
0<=x<=90000000000000
x + 90000000000000 = x xor 90000000000000
问有多少个x?
0<=x<=90000000000000
x + 90000000000000 = x xor 90000000000000
问有多少个x?
H*g
24 楼
0+0=0=0xor0
1+0=1=1xor0
1+1=10=1xor1+10
如果n的某位上是0,它加同一位上的0或1 都等于异或0 或者1,并且不产生进位
如果n的某位上是1,它加同一位上的1或0 仍旧等于异或0或者1,但是加1之后有进位,
会翻转高位的结果。
所以当n某位有1,x的某位也有1的时候,n+x<>x xor n
而除了0之外,一个数字最高位总是1。因此符合条件的数字必然最高位的1在
90000000000的2进制数里有0的地方。一个数字的最高位在n的某位是1的地方,那它肯
定就不行,不管低位是多少。
(90000000000000)10 = (10100011101101011000010000001111010000000000000)2
所以以下数字都是不行的(x是0或者1)
10100011101101011000010000001111010000000000000
0000000000000000000000000000000001xxxxxxxxxxxxx
(有00000000000000000000000000000000001000000000000个,下同 )
00000000000000000000000000000001xxxxxxxxxxxxxxx
0000000000000000000000000000001xxxxxxxxxxxxxxxx
000000000000000000000000000001xxxxxxxxxxxxxxxxx
00000000000000000000000000001xxxxxxxxxxxxxxxxxx
0000000000000000000001xxxxxxxxxxxxxxxxxxxxxxxxx
00000000000000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00000000000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
000000000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
000000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
0000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(前面15行一共
00100011101101011000010000001111010000000000000个(后面15个1)
最后一行这些有
10100011101101011000010000001111010000000000000-
10000000000000000000000000000000000000000000000+1
=
00100011101101011000010000001111010000000000001个
所有这些不行的加起来总数应该是
00100011101101011000010000001111010000000000000+
00100011101101011000010000001111010000000000001
=
01000111011010110000100000011110100000000000001
所以可以的x是
10100011101101011000010000001111010000000000000-
00100011101101011000010000001111010000000000000-
00100011101101011000010000001111010000000000001
=
10000000000000000000000000000000000000000000000-
00100011101101011000010000001111010000000000001
=
01011100010010100111101111110000101111111111111
=50737488355327
1+0=1=1xor0
1+1=10=1xor1+10
如果n的某位上是0,它加同一位上的0或1 都等于异或0 或者1,并且不产生进位
如果n的某位上是1,它加同一位上的1或0 仍旧等于异或0或者1,但是加1之后有进位,
会翻转高位的结果。
所以当n某位有1,x的某位也有1的时候,n+x<>x xor n
而除了0之外,一个数字最高位总是1。因此符合条件的数字必然最高位的1在
90000000000的2进制数里有0的地方。一个数字的最高位在n的某位是1的地方,那它肯
定就不行,不管低位是多少。
(90000000000000)10 = (10100011101101011000010000001111010000000000000)2
所以以下数字都是不行的(x是0或者1)
10100011101101011000010000001111010000000000000
0000000000000000000000000000000001xxxxxxxxxxxxx
(有00000000000000000000000000000000001000000000000个,下同 )
00000000000000000000000000000001xxxxxxxxxxxxxxx
0000000000000000000000000000001xxxxxxxxxxxxxxxx
000000000000000000000000000001xxxxxxxxxxxxxxxxx
00000000000000000000000000001xxxxxxxxxxxxxxxxxx
0000000000000000000001xxxxxxxxxxxxxxxxxxxxxxxxx
00000000000000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00000000000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
000000000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
000000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
00000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
0000001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
001xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(前面15行一共
00100011101101011000010000001111010000000000000个(后面15个1)
最后一行这些有
10100011101101011000010000001111010000000000000-
10000000000000000000000000000000000000000000000+1
=
00100011101101011000010000001111010000000000001个
所有这些不行的加起来总数应该是
00100011101101011000010000001111010000000000000+
00100011101101011000010000001111010000000000001
=
01000111011010110000100000011110100000000000001
所以可以的x是
10100011101101011000010000001111010000000000000-
00100011101101011000010000001111010000000000000-
00100011101101011000010000001111010000000000001
=
10000000000000000000000000000000000000000000000-
00100011101101011000010000001111010000000000001
=
01011100010010100111101111110000101111111111111
=50737488355327
z*e
25 楼
分析的大方向差不多,细节上有点问题,结果不对
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png)
: 0+0=0=0xor0
: 1+0=1=1xor0
: 1+1=10=1xor1+10
: 如果n的某位上是0,它加同一位上的0或1 都等于异或0 或者1,并且不产生进位
: 如果n的某位上是1,它加同一位上的1或0 仍旧等于异或0或者1,但是加1之后有进位,
: 会翻转高位的结果。
: 所以当n某位有1,x的某位也有1的时候,n+x<>x xor n
: 而除了0之外,一个数字最高位总是1。因此符合条件的数字必然最高位的1在
: 90000000000的2进制数里有0的地方。一个数字的最高位在n的某位是1的地方,那它肯
: 定就不行,不管低位是多少。
【在 H********g 的大作中提到】
![](/moin_static193/solenoid/img/up.png)
: 0+0=0=0xor0
: 1+0=1=1xor0
: 1+1=10=1xor1+10
: 如果n的某位上是0,它加同一位上的0或1 都等于异或0 或者1,并且不产生进位
: 如果n的某位上是1,它加同一位上的1或0 仍旧等于异或0或者1,但是加1之后有进位,
: 会翻转高位的结果。
: 所以当n某位有1,x的某位也有1的时候,n+x<>x xor n
: 而除了0之外,一个数字最高位总是1。因此符合条件的数字必然最高位的1在
: 90000000000的2进制数里有0的地方。一个数字的最高位在n的某位是1的地方,那它肯
: 定就不行,不管低位是多少。
H*g
28 楼
应该这样
10100011101101011000010000001111010000000000000
第一系列
00000000000000000000000000000000001xxxxxxxxxxxx 12个x
共
00000000000000000000000000000000000100000000000个 =2exp11个
第二系列:
0000000000000000000000000000000010xxxxxxxxxxxxx 12个x
共
00000000000000000000000000000000001000000000000个 =2exp11个
个
第三系列
00000000000000000000000000010000x0xxxxxxxxxxxxx 13个x
共
00000000000000000000000000000000001000000000000 x2个 =2exp12个
第四系列
000000000000000000000000001x0000x0xxxxxxxxxxxxx 14个x
共
00000000000000000000000000000000001000000000000 x2x2个=2exp13个
第五系列
00000000000000000000000001xx0000x0xxxxxxxxxxxxx 15个x
共
00000000000000000000000000000000001000000000000 x2x2x2个 =2exp14个
所以:假如把最高位的1放在从右边数第m个0上,
它带的所有可以用的数字是2exp(m-1)个
另外还有个0也是符合条件的。
n里一共31个0。
所以
总数是
sum(1..31)(2exp (m-1))+1
=11111 11111 11111 11111 11111 11111 +1
=100000 00000 00000 00000 00000 00000
=2exp31
10100011101101011000010000001111010000000000000
第一系列
00000000000000000000000000000000001xxxxxxxxxxxx 12个x
共
00000000000000000000000000000000000100000000000个 =2exp11个
第二系列:
0000000000000000000000000000000010xxxxxxxxxxxxx 12个x
共
00000000000000000000000000000000001000000000000个 =2exp11个
个
第三系列
00000000000000000000000000010000x0xxxxxxxxxxxxx 13个x
共
00000000000000000000000000000000001000000000000 x2个 =2exp12个
第四系列
000000000000000000000000001x0000x0xxxxxxxxxxxxx 14个x
共
00000000000000000000000000000000001000000000000 x2x2个=2exp13个
第五系列
00000000000000000000000001xx0000x0xxxxxxxxxxxxx 15个x
共
00000000000000000000000000000000001000000000000 x2x2x2个 =2exp14个
所以:假如把最高位的1放在从右边数第m个0上,
它带的所有可以用的数字是2exp(m-1)个
另外还有个0也是符合条件的。
n里一共31个0。
所以
总数是
sum(1..31)(2exp (m-1))+1
=11111 11111 11111 11111 11111 11111 +1
=100000 00000 00000 00000 00000 00000
=2exp31
f*n
29 楼
小于10^15并且最高为是0(二进制)数的个数
瞎猜的
瞎猜的
c*t
30 楼
Xor 就是不进位的加法。所以n转成二进制有m个0,答案是2^m
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png)
: 应该这样
: 10100011101101011000010000001111010000000000000
: 第一系列
: 00000000000000000000000000000000001xxxxxxxxxxxx 12个x
: 共
: 00000000000000000000000000000000000100000000000个 =2exp11个
: 第二系列:
: 0000000000000000000000000000000010xxxxxxxxxxxxx 12个x
: 共
: 00000000000000000000000000000000001000000000000个 =2exp11个
【在 H********g 的大作中提到】
![](/moin_static193/solenoid/img/up.png)
: 应该这样
: 10100011101101011000010000001111010000000000000
: 第一系列
: 00000000000000000000000000000000001xxxxxxxxxxxx 12个x
: 共
: 00000000000000000000000000000000000100000000000个 =2exp11个
: 第二系列:
: 0000000000000000000000000000000010xxxxxxxxxxxxx 12个x
: 共
: 00000000000000000000000000000000001000000000000个 =2exp11个
z*e
32 楼
我在看你的解释
结果还是不对
【在 H********g 的大作中提到】![](/moin_static193/solenoid/img/up.png)
: 应该这样
: 10100011101101011000010000001111010000000000000
: 第一系列
: 00000000000000000000000000000000001xxxxxxxxxxxx 12个x
: 共
: 00000000000000000000000000000000000100000000000个 =2exp11个
: 第二系列:
: 0000000000000000000000000000000010xxxxxxxxxxxxx 12个x
: 共
: 00000000000000000000000000000000001000000000000个 =2exp11个
结果还是不对
【在 H********g 的大作中提到】
![](/moin_static193/solenoid/img/up.png)
: 应该这样
: 10100011101101011000010000001111010000000000000
: 第一系列
: 00000000000000000000000000000000001xxxxxxxxxxxx 12个x
: 共
: 00000000000000000000000000000000000100000000000个 =2exp11个
: 第二系列:
: 0000000000000000000000000000000010xxxxxxxxxxxxx 12个x
: 共
: 00000000000000000000000000000000001000000000000个 =2exp11个
相关阅读
便宜没好货霸王龙的烦恼李白V5啊!简直是神棍啊! (转载)男子结婚35年记错妻子名字 离婚起诉书依然写错 (转载)大片的思路Re: 米歇尔故宫转了一圈儿,会不会嫌自家太小了? (转载)天安门前撒过尿,立法院里打过炮 (转载)我党灌死一名日军这个first day of spring怎么感觉和春分重合了 (转载)Vladimir Putin = Katniss EverdeenF1 OPT签证,签加拿大旅游,最快可以多久拿到?晚上睡不着,有六个问题一直纠结着我国人的行为习惯 (转载)没有台湾歌手到大陆表演,看哭的是谁! (转载)老爸將1岁女儿改裝成婴儿机器人码工偷猎者未来海日出事了。 (转载)码工师傅吗,我又来了:js写cv图