被3整除判断准则的证明

有一个判断的准则用于判断一个数是否能被三整除,即一个数(假设是十进制的)的各个权位上的数字之和如果能被三整除那么这个数就能被三整除.为什么这个准则就可以判断呢?这个问题很多年以前想过但是不得其解,现在好了,功力终于涨到可以证明这个准则了.

为了便于讨论先约定几个符号,用字母N(0),N(1)...N(i)分别表示数字各个权位上的值,那么任意一个数就可以表示成N(i)N(i-1)...N(1)N(0).用R(0),R(1)...R(i)分别表示10的i次幂,这样任意一个数可以表示成这样的和式:

N(i)*R(i) + N(i-1)*R(i-1) + ... + N(1)*R(1) + N(0)*R(0)

其中N(k)*R(k)表示第k个权位上的数字N(k)和10的k次幂相乘。


有了这些符号描述证明就方便了。我们看任意一个权位上的数字,假设这个权位就是第k个,那么这个权位上的数字的大小是N(k)*R(k)。这个数字还可以写成如下的形式:
1 * R(k) + 1 * R(k) + ... + 1 * R(k)
显然这个和式是N(k)个项的和。然后就用三来除这个和式,这个除法可以写成如下的形式:
(1 * R(k))/3 + (1 * R(k))/3 + ... + (1 * R(k))/3
很明显和式中的每一项与三相除后其余数是一,那么整个和式与三相除之后的余数就是N(k)正好就是权位上的那个数字。

用三来除任意数是可以写成如下形式的:
(N(i)*R(i))/3 + (N(i-1)*R(i-1))/3 + ... + (N(1)*R(1))/3 + (N(0)*)R(0)/3
基于上面的讨论我们用I(i)来表示第i个权位整除后的整数部分,那么相除后的表达式可以写成如下:
(I(i) + N(i)) + (I(i-1) + N(i-1)) + ... (I(1) + N(1)) + (I(0) + N(0))
然后改变一下形式,将相除后的整数部分之和与余数之和分别写在一起,于是有如下形式:
(I(i) + I(i-1) + ... I(1) + I(0)) + (N(i) + N(i-1) + ... N(1) + N(0))
显然对于这个结果,如果余数部分N(i) + N(i-1) + ... N(1) + N(0)能够被三整除的话,那么整个数字就可以被三整除,否则就不能被三整除了。而N(i) + N(i-1) + ... N(1) + N(0)正好是整个数字各个权位上的数字之和,所以原命题得证。
### 回答1: 可以使用Python中的模块操作符(%)来判断一个数能否被3整除。具体实现如下: ```python def is_divisible_by_three(num): if num % 3 == 0: return True else: return False ``` 上述代码中,`is_divisible_by_three`函数接收一个整数`num`作为参数,并使用模块操作符判断它是否能被3整除。如果能被整除,函数返回`True`,否则返回`False`。 ### 回答2: 判断一个数能否被3整除,可以使用Python的取模运算符“%”。当一个数除以3的余数为0时,就说明这个数能够被3整除。 以下是使用Python实现判断一个数能否被3整除的示例代码: ```python def is_divisible_by_3(num): if num % 3 == 0: return True else: return False # 测试示例 num = 9 if is_divisible_by_3(num): print(num, "可以被3整除。") else: print(num, "不能被3整除。") ``` 在上述代码中,我们定义了一个函数`is_divisible_by_3`,该函数接受一个参数`num`,判断`num`是否能被3整除。通过对`num`进行取模运算`num % 3`,如果余数为0,则返回True,表示`num`可以被3整除;否则返回False,表示`num`不能被3整除。 在测试示例中,我们将`num`赋值为9,并调用`is_divisible_by_3`函数来判断9是否能被3整除,最后打印结果。 运行以上代码,将会输出: ``` 9 可以被3整除。 ``` 关于整除判断方法还可以使用整除运算符“//”和等于号“==”进行判断。例如可以使用`(num // 3) * 3 == num`来判断一个数是否能被3整除。但通常使用取模运算符“%”来实现这种判断,更加简洁和常用。 ### 回答3: 可以使用Python语言来判断一个数是否能被3整除。方法是将这个数除以3,判断其余数是否为0。如果余数为0,则这个数能被3整除;如果余数不为0,则这个数不能被3整除。 下面给出一个示例代码: ```python def is_divisible_by_3(num): if num % 3 == 0: return True else: return False num = int(input("请输入一个整数:")) if is_divisible_by_3(num): print(num, "能被3整除") else: print(num, "不能被3整除") ``` 运行代码后,程序会提示输入一个整数,然后判断这个数是否能被3整除,并给出相应的输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值