设为首页 加入收藏

TOP

算法学习(二)
2017-09-30 17:04:44 】 浏览:4644
Tags:算法 学习

1.Sum of digits

说明:1.第一行包含要处理的值的数量;
   2.然后N行将会描述这些数字的值应该是由3个整数A、B、C来计算的;
   3.对于每一种情况,你需要将A乘以B,然后加上C(即A * B+C),然后计算结果的位数。

1 input data:
2 3
3 11 9 1
4 14 90 232
5 111 15 111
6 
7 answer:
8 1 16 21

这里,第一种情况需要计算11*9+1=100,它的数字之和是1+0+0=1

 1 A = [11, 14, 111]
 2 B = [9, 90, 15]
 3 C = [1, 232, 111]
 4 
 5 for i in range(len(A)):
 6     Num = A[i] * B[i] + C[i]
 7     Sum = 0
 8     while Num > 0:
9 Sum += Num % 10 10 Num = Num // 10 # 获得每位数的值 11 print(Sum, end=' ')
输出:1 16 21

2.Array Checksum

说明:1.您将得到一个用于计算校验和的数组。执行如下的计算:对于数组的每个元素,将这个元素添加到结果变量中,并将这个和乘以113——这个由10000007求模所取的新值应该成为结果的下一个值,以此类推。
   2.输入数据将在第一行中显示数组的长度。
          3.数组的值在第二行中,由空格分隔。

1 input data:
2 6
3 3 1 4 1 5 9
4 
5 answer:
6 8921379

算法如下:

 1 Arrays = [3, 1, 4, 1, 5, 9]
 2 
 3 seed = 113
 4 result = 0
 5 limit = 10000007
 6 for i in range(len(Arrays)):
 7     result = (result + Arrays[i]) * seed
 8     if 0 < result < 10000007:
 9         result = result
10     else:
11         result = result % 10000007 # 大于10000007的值需要求模
12 
13 print(result)
输出:8921379

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python文件操作 下一篇python学习_day1

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目