我正在寻找一个挑战,仅使用算术运算符和单个for循环建立一个弗洛伊德三角形的整数。有数百个教程使用双for循环和字符串操作,但我还没有看到任何使用数学的。
使用重复整数的示例输出:
1
22
333
4444
我正在接近解决方案逻辑如下:
1 * (1) = 1
2 * (1 + 10) = 22
3 * (1 + 10 + 100) = 333
作为一个Python初学者,我不会构造逻辑循环。有什么想法或替代方法吗?这里不允许字符串操作,只允许数学!
这对我有用:)
n = 4
val=0
for i in range(n):
val+=10**i
print(val*(i+1))
Val是1,然后是11,然后是111。我不确定这是否是你所期望的。