我在一家公司遇到了一个非常有趣的问题,我似乎无法找到答案。
#include <cstdio>
int main()
{
int num = 123456789;
int res = 0;
for (int i = 0; i<111111111; i++)
{
res=(res+num)%1000000000;
}
printf("06 %09d", res);
return 0;
}
我应该声明num,所以输出是我的手机号码305089171。 知道怎么做吗?
答案 0 :(得分:0)
因此,为了解决问题,我们从单位数字开始。
我能想到的数学推理是当你将数字乘以111111111时,数十位的数字只影响它左边的数字,而不影响它右边的数字。
答案 1 :(得分:-1)
以下是您需要输入num:
的值254197461
我通过逐个添加额外的数字来获得它,我让你检查自己发生了什么。 我对此没有数学解释,但是尝试将数字逐个放入num中,你可能会理解: 1/61/461 / 7461 ......