我有一些大数字(再次),我需要找到数字的总和是否为偶数.我试过这个:用while循环找到数字的总和,然后检查那个总和%2是否等于0并且它正在工作但对于大数字来说它太慢了,因为我给出了数字间隔,如果输入是1999999 19999999999那么我的程序失败了,我无法在0,1秒的时限内完成.
该怎么办 ?有没有其他更快的方法来做到这一点?
编辑:输入1999999 19999999999意味着它将从1999999开始并检查我上面写的所有数字,直到19999999999,因为我们正在谈论大数字(<2 ^ 30)我的程序是不配的.
您不需要对数字求和.想一想.总和从零开始,通常被认为是偶数(尽管你可以根据需要特殊情况).
每个偶数都没有变化.如果总和是奇数,则它保持奇数,如果它是偶数则保持均匀.
每个奇数位将和从偶数变为奇数,或奇数变为偶数.
所以,只计算奇数位数.如果数字是偶数,那么所有数字的总和是偶数.如果数字是奇数,那么所有数字的总和是奇数.
现在,您只需要为您范围内的FIRST号码执行此操作.接下来你需要做的是弄清楚数字的均匀性或奇怪性如何随着你不断增加而变化.
我将此作为练习留给读者.家庭作业必须涉及一些工作!