如何从 1,2,3 通过公式得出 1,11,111

2016-05-18 11:01:03 +08:00
 Liang
  1. 拼凑,'1'+'1'+'1'=111
  2. 累加, 1+10+100=111 ( 1,10,100 是通过 10 的(x-1)次方算出来的)

4794 次点击
所在节点    PHP
35 条回复
Slienc7
2016-05-18 11:15:43 +08:00
x 直接转 Binary 然后转文本?
JiShuTui
2016-05-18 11:20:23 +08:00
在空字符串的左侧填充 x 个 1
str_pad('', $x, '1', STR_PAD_LEFT)
mcfog
2016-05-18 11:23:27 +08:00
难道不是 str_repeat 么 :doge:
fds
2016-05-18 11:23:55 +08:00
直接读表
moro
2016-05-18 11:24:51 +08:00
str_pad("", 3, 1)
JiShuTui
2016-05-18 11:25:58 +08:00
@mcfog 对,应该用 str_repeat
zongwan
2016-05-18 11:28:01 +08:00
min = (x * 10 - 1)/9
max = min * 10
zongwan
2016-05-18 11:28:41 +08:00
@zongwan
<<< x * 10
>>> x ** 10
Liang
2016-05-18 11:29:37 +08:00
@JiShuTui
@mcfog
@moro

好吧,你们也是拼出来的字符串,不是一次得出整型。
zongwan
2016-05-18 11:29:39 +08:00
@zongwan
上面还是错了
<<< x ** 10
>>> 10 ** x
Liang
2016-05-18 11:31:28 +08:00
@zongwan

哈哈哈,我就说算了几次没对。。。
wdk23411
2016-05-18 11:37:15 +08:00
min: (10^x-1)/9
max: min*10
debiann
2016-05-18 11:38:31 +08:00
等比数列求和
ryd994
2016-05-18 11:41:58 +08:00
循环左移累加啊
sum=0
for i 0 n
_sum=sum*10+1
imn1
2016-05-18 12:13:03 +08:00
min 和 max 是 2 进制就简单了
min:(1<<x)-1
max:min<<1 或 (2<<(x+1))-2
necomancer
2016-05-18 12:29:53 +08:00
for i in range(1, 4):
m = eval('1' * i)
M = m * 10
print(m, M)

1 10
11 110
111 1110
dphdjy
2016-05-18 12:30:03 +08:00
填充
necomancer
2016-05-18 12:34:11 +08:00
或者
[ (lambda x: (x, x*10))(eval('1'*x)) for x in range(1,4) ]
输出
[(1, 10), (11, 110), (111, 1110)]
aprikyblue
2016-05-18 12:58:20 +08:00
min:
数列{Ax}
累加的通项 Ax= 10^(x-1)
累加和 Sx=A1 + A2 + ... + Ax ,记为①
把①两边同乘 10 ,得 10Sx = A1 *10 + A2 *10 + ... Ax *10
整理得, 10Sx = A2 + A3 + ... Ax+1 ,记为②
②-①,得 9Sx= -A1 + Ax+1
Sx = (-A1 + Ax+1)/9

Sx = (-1 + 10^x)/9
--------------------

代入验证, S1=(-1+10)/9=1
S2=(-1+100)/9=11
S3=(-1+1000)/9=111
est
2016-05-18 12:58:49 +08:00
python 里很容易啊:

x = 3

int('1' * x)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/279466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX