【发布时间】:2020-10-17 07:55:58
【问题描述】:
问题是,我得到了一个非常大的数字的所有数字,我需要找出它是否能被 3 整除。我尝试了我认为是错误的方法,但我不知道为什么
这是我的方法 例如问题是 (159%3)
我可以写成 (100+50+9)%3
上面的语句可以写成(1%3+5%3+9%3)%3
(a+b)%c=(a%c+b%c)%c.
这种方法有什么问题?
【问题讨论】:
-
所有数字都按顺序排列了吗?你知道这个数字是什么,还是只是它的数字(乱序)?
-
@JohnFilleau 数字是否有序并不重要。
-
@tele 天哪,你是对的。我四年级的老师会对我感到失望:(
-
经过教育,结果证明你的方法很好。为什么你认为它有问题?
-
这种做法是正确的。您使用的事实是 10^n % 3 = 1。这种方法到底有什么问题?
标签: c++ algorithm numbers modulo number-theory