11# Sum of digits

问题描述

此编程练习旨在向您介绍数字系统的基础知识,我们从每天都在使用的十进制系统(尽管你需要记住的是计算机并不在内部直接使用十进制,只有向人展示时才会转换成十进制)开始学习数字系统的概念。

数字一旦大于9,就要用多个数字来表示,我们也可以计算出这些数字的总和。比如,对于1492和1776这两个数字,对每位数字求和:
在这里插入图片描述
本次任务中,您将获得多个数字并要求计算它们的数字总和。

重要:尽管很多编程语言中都有内置函数来将数字转换成字符串(从中可以提取数据),你不应该使用这些内置函数(因为你的目的是学习写编程技巧)。

相反你应该使用多次除10(数字系统的基础)的方式来实现这个这个算法,然后把余数加起来。阅读Number to digits这篇文章来获取算法的详细信息。
输入数据的格式如下:

第一行包含一个数字N - 本次程序的数据量

然后N行数据将对每行3个数据A B C进行计算后得到一个结果。

在每行计算中,你需要将A乘以B然后加上C(也就是A * B + C) - 然后将计算结果的每一位数字进行求和。

答案应该包含N个数据,并且用空格区分开来,比如:
在这里插入图片描述
那第一行数据为例,11 * 9 + 1 = 100,而且100的每位数字之和就是1+0+0=1.

代码

numberOfImport=input()
for i in range(int(numberOfImport)):
    spam=list(map(int,input().split()))
    result=str(spam[0]*spam[1]+spam[2])
    answer=0
    for k in result:
      answer+=int(k)
    print(answer,end=" ")

实验效果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值