python 使用替代总和检查整数可被3整除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用替代总和检查整数可被3整除相关的知识,希望对你有一定的参考价值。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © 2013 KuoE0 <kuoe0.tw@gmail.com>
#
# Distributed under terms of the MIT license.

"""

"""

def alt_add_digits_recursion(x, sign):
    if x > 1:
        return alt_add_digits(x >> 1, sign * -1) + (x & 1) * sign
    return (x & 1) * sign

def alt_add_digits_iteration(x):
    ret = 0
    sign = 1
    while x > 1:
        ret = ret + (x & 1) * sign
        x = x >> 1
        sign = sign * -1

    return ret

def alt_add_digits_iteration_no_mul(x):
    ret = 0
    sign = True
    while x > 1:
        ret = ret + (x & 1) if sign else ret - (x & 1)
        x = x >> 1
        sign = not sign
    return ret

def divisible_3(x):
    while x > 1:
        x = alt_add_digits_iteration_no_mul(x)
        x = x if x >= 0 else -x
    return x == 0


if __name__ == "__main__":
    import sys
    for i in range(int(sys.argv[1])):
        print i, divisible_3(i)

以上是关于python 使用替代总和检查整数可被3整除的主要内容,如果未能解决你的问题,请参考以下文章

python 使用十六进制检查整数可被3整除

python 使用字符串转换检查整数可被3整除

总和可被k整除的最长子序列[关闭]

距离可被整数整除的点对

计算总和可被 k 整除的子序列总数

数字总和可被 K 整除的子数组的数量