998244353998244353998244353 是算法竞赛中的常见模数。在算法竞赛中,如果答案特别大,往往会对一个给定的数取模。最近,猪发现,998244353=119×223+1998244353=119\times 2^{23}+1998244353=119×223+1,随后便开始痴迷于把正整数写成类似的形式。
给定一个正整数 NNN。可以证明,有无穷多个非负整数三元组 (a,b,c)(a,b,c)(a,b,c) 满足 N=a×2b+cN=a\times2^b+cN=a×2b+c。在所有满足上述条件的三元组中,求 a+b+ca+b+ca+b+c 的最小值。
一行一个整数 NNN(1≤N<2601\le N<2^{60}1≤N<260)。
一行一个整数,表示答案。
1
取 (a,b,c)=(1,0,0)(a,b,c)=(1,0,0)(a,b,c)=(1,0,0) 有 1=1×20+01=1\times2^0+01=1×20+0,所以 a+b+ca+b+ca+b+c 可以是 111。
又因为取 (a,b,c)=(0,0,0)(a,b,c)=(0,0,0)(a,b,c)=(0,0,0) 有 0=0×20+00=0\times2^0+00=0×20+0,所以 a+b+ca+b+ca+b+c 不能是 000。
998244353
143
取 (a,b,c)=(119,23,1)(a,b,c)=(119,23,1)(a,b,c)=(119,23,1) 有 998244353=119×223+1998244353=119\times2^{23}+1998244353=119×223+1,此时 a+b+c=143a+b+c=143a+b+c=143。
可以证明,不存在非负整数三元组 (a,b,c)(a,b,c)(a,b,c) 满足 998244353=a×2b+c998244353=a\times2^b+c998244353=a×2b+c 且 a+b+c<143a+b+c<143a+b+c<143。