
看到这么一道题,题目很简单,但是有2个要求:
1) 给定了第一行:你只能往里再添加一行1
for i in range(1,input()):
2) 不能使用字符串
我的思考过程如下:
1.既然题目不能使用字符串,就不能使用拼接字符串的方法解题,那么这道题很有可能是找规律然后输出。
2.我发现了规律:
1x1
2x11
3x111
4x1111
…
3.根据这个规律,我们需要i以及10的i次方的一个累加,这里需要再定义一个变量,使其每次进行一个累加,顺着这个思路往下想的话,此题无解,没有办法只添加一行去实现它。
4.我后来发现了它其实还有另外一个规律:
1x10/9=1.11111111
2x100/9=22.2222222
3x1000/9=333.3333333
我们知道,python中的整数运算是会将小树转换成整数的,所以最后只要:1
2for i in range(1,input()):
print (pow(10, i)*i)/9
就可以输出题目要求的结果。
虽然这只是一个小问题,但是却可以从中发现数学的美妙。