我正试图为一个非常大的数字的数字根编写代码,但无法将其保存为变量。没有它可以吗?
您要做的是重复添加数字的位数,直到您只剩下一个位数,即给定123456,您需要1+2+3+4+5+6=21==>2+1=3
对于一个最多有5000万个数字的数字,这些数字的总和将不超过5亿,这完全在32位int
的范围内。
首先将大数字作为字符串读取。然后对字符串中的每个字符进行迭代。对于每个字符,验证它是一个字符数字,即在'0'
和'9'
之间。将该字符转换为适当的数字,然后将该数字添加到总和中。
一旦你完成了,你就得到了存储在int
中的第一级总和。现在,您可以使用x % 10
循环该数字的数字以获得最低数字,使用x / 10
在其余数字上移动。一旦你用完了数字,重复这个过程,直到你的值小于10。