介绍一种整除11碾转算法,分享给各位小伙伴,同时给出证明和C代码#程序#实现。
算法描述设十进制整数为n,
(1)从右向左取数,两两一组。最后一位,单独或者和倒数第二位组成一对。
(2)将所有数相加。
(3)若得数小于100, 则可直接判断是否被11整除,则得出结论。
(4)若得数大于100,则回到第一步。重复执行算法。
例1。123456789。按照算法第一步,得到1, 23, 45, 67, 89。1 23 45 67 89 = 225。 225大于100,重复执行算法。225 = 2 25 = 27。27不能被11整除,因此123456789不能被11整除。
例2。1331从右到左取数,两两一组,那么得到,13, 31。将所有数对相加。13 31 = 44。44被11整除,得到最终结论1331被11整除。
数学证明设十进制整数n表示:
假设n的数位为偶数,
则n =
上述式子变形得到为:
其中的值为
由此证明得到只要 能被11整除,则n能被11整除。
假设n的数位为奇数,
则n =
上述式子变形得到为:
其中, 的值为
由此证明得到只要 能被11整除,则n能被11整除。
证毕。
结束
关注头条号“独角兽电波”
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved