python123题目——特殊数列求和

类型:流程控制

描述

用户输入一个小于10的正整数,求1 + 12 + 123 + 1234 + …… 的前n项的和,当输入大于或等于10时,输出“data error!”

输入格式

一个小于10的正整数

输出格式

数列的前 n 项和或“data error!”

示例

输入:5 
输出:13715

参考代码

n = int(input())
if n <= 9:
    total = 0
    tmp = 0  # 用来存上一个数
    for i in range(1, n + 1):
        tmp = tmp * 10 + i  # 计算下一个要加的数: 1 —> 12,1234 —> 12345
        total = total + tmp
    print(total)
else:
    print('data error!')

# 面向测试用例编程
# print([1, 13, 136, 1370, 13715, 137171, 1371738, 13717416, 137174205][n - 1])
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
+...+123...n的和,其中n为用户输入正整数。 首先,我们需要明确题目的意思。题目我们出一个数列的和,这个数列的每一都是由加上一个数字得到的。具体来说,第一是1,第二是1+12=13,第三是1+12+123=136,以此类推。我们需要n的和。 接下来,我们可以考虑使用循环来实现这个求和过程。具体来说,我们可以从1开始,依次计算每一的值,并将它们累加起来。在计算每一的值时,我们可以使用一个变量来记录的值,然后将这个变量乘以10再加上当的数字即可得到当的值。 下面是具体的代码实现: ``` n = int(input("请输入一个小于10正整数:")) sum = 0 num = 1 for i in range(n): sum += num num = num * 10 + i + 2 print("1+12+123+...+123...n的和为:", sum) ``` 在这段代码中,我们首先读入用户输入正整数n,并初始化求和变量sum和当的值num。然后,我们使用for循环依次计算每一的值,并将它们累加到sum中。在每一次循环中,我们先将当的值加到sum中,然后根据的值计算出当的值。具体来说,我们将的值乘以10,再加上当的数字i+2,就得到了当的值。最后,我们输出求和的结果即可。 需要注意的是,这段代码中的循环变量i是从0开始的,因为我们需要计算的数字是从1开始的,而第一只有一个数字1,没有其他数字。因此,在计算第二时,我们需要将的值乘以10,再加上2,而不是加上1。同理,在计算第三时,我们需要将的值乘以10,再加上3,再加上2,以此类推。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_62488776

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值