Skip to main content
 首页 » 编程设计

Python三角求索,打印里面的算术运算

2025年05月04日16zhengyun_ustc

我尝试解决 this problem 我知道,我可以那样做

for i in range(1,input()):  
    print int(str(i)*i) 

它可以工作,但我不能使用字符串,所以我想做 喜欢

for i in range(1,input()):  
    sum+=10**i 
    print i*((1+sum)%10**i)  

for i=1   1*(1+10)%10,  
 
for i=2   2*((1+110)%100),  
 
for i=3   3*((1+1110)%1000) etc. 

但它不起作用并且超过 2 行 :( 有人知道如何解决这个问题吗?通常我知道如何用数学方法解决这个问题,但我不知道如何在 python 中做到这一点(没用字符串并写入不超过 2 行)

请您参考如下方法:

“Repunit”的方程式对这里有帮助。从维基百科页面中获取第 i 个 Repunit 的等式,并用 10 代替 b(基数 10),我们得到等式 (10**i - 1)/(10 - 1)或 (10**i - 1)/9。这导致序列:1, 11, 111, 1111...。乘以 i,我们得到了想要的结果:

>>> for i in range(1, input()): 
...    print(i * (10**i - 1) // 9) 
5<Enter> 
1  
22 
333 
4444