AI文库-您身边的智能助手,如没有想要的内容请与本站万能的AI助手联系。

有一个小游戏,6个人上台去算手中扑克牌点数之和是否5的倍数,据说是小学生玩的。这里稍微修改一下玩法,n个人上台,算手中数字之和是否同时是5,7,3的倍数。 输入格式: 首先输入一个正整数T,表示测试

来自 河北省唐山市 的网友 时间: 热度:°C 加入收藏 我要投稿 点赞()
首先,我们需要明确题目的要求:给定一个整数n(1≤n≤15)和n个小于1000的整数,我们需要判断这n个整数之和是否同时是5、7和3的倍数。

为了解决这个问题,我们可以使用模运算的性质。具体来说,如果一个数是a和b的公倍数,那么这个数除以a和b的最小公倍数的余数应该为0。因此,我们只需要计算n个整数之和除以5、7和3的最小公倍数的余数。

5、7和3的最小公倍数是5×7=35,因为3是5和7的公因子。所以,我们需要计算n个整数之和除以35的余数。

下面是具体的算法步骤:

1. 输入测试数据的组数T。
2. 对于每组测试数据:
- 输入一个整数n。
- 输入n个整数,存储在数组nums中。
- 计算数组nums中所有元素的和sum。
- 计算sum除以35的余数remainder。
- 如果remainder为0,输出"YES";否则输出"NO"。

下面是对应的Python代码:

```python
def is_multiple_of_5_7_and_3(nums):
return sum(nums) % 35 == 0

T = int(input())
for _ in range(T):
n = int(input())
nums = [int(input()) for _ in range(n)]
if is_multiple_of_5_7_and_3(nums):
print("YES")
else:
print("NO")
```

这段代码首先定义了一个辅助函数`is_multiple_of_5_7_and_3`,用于判断一个整数列表的和是否是5、7和3的倍数。然后,代码读取测试数据的组数T,并对每组测试数据执行上述算法步骤。
221381
领取福利

微信扫码领取福利

微信扫码分享