20449: 是否被5整除
http://cs101.openjudge.cn/dsapre/20449/
给定由0 和 1 组成的字串 A,我们定义 N_i:从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数
返回0和 1 组成的字串 answer,只有当 N_i 可以被 5 整除时,答案 answer[i] 为 1,否则为 0
具体请看例子
输入
一个0和1组成的字串
输出
一行长度等同于输入的0和1组成的字串
样例输入
011样例输出
100提示
0可以被5整除->1 01不可以被5整除->0 011不可以被5整除->0 结果是100
遍历输入的字符串,然后将每个字符解释为二进制数并检查是否可以被5整除来解决。我们可以使用Python的内置函数int()将二进制字符串转换为整数,并使用模运算符%来检查是否可以被5整除。
python
def binary_divisible_by_five(binary_string):
result = ''
num = 0
for bit in binary_string:
num = (num * 2 + int(bit)) % 5
if num == 0:
result += '1'
else:
result += '0'
return result
binary_string = input().strip()
print(binary_divisible_by_five(binary_string))