给出一个数字字符串 S,S 不存在前缀 0,将 S 切割为一些长 度大于 0 的段,使得能被 3 整除的段数最多,求该数量。
输入一行一个数字字符串 S 输出最多的能被 3 整除的段数量。 Sample Input :12300
Sample Output:4
详细的解释和代码实现如下,望采纳
首先,我们需要对字符串 S 进行遍历,对于每一个遍历到的字符,将其加入当前段的字符串中,并判断当前段的字符串是否能被 3 整除。如果能被 3 整除,则将统计的能被 3 整除的段数加 1。遍历完字符串后,输出统计的结果即可。
# 读入字符串 S
S = input()
# 初始化计数器 count 为 0
count = 0
# 初始化当前段的字符串 cur_str 为空
cur_str = ""
# 遍历字符串 S
for c in S:
# 将当前字符加入当前段的字符串中
cur_str += c
# 如果当前段的字符串能被 3 整除,将计数器加 1
if int(cur_str) % 3 == 0:
count += 1
# 重置当前段的字符串为空
cur_str = ""
# 输出统计的能被 3 整除的段数
print(count)