【发布时间】:2017-02-14 11:39:34
【问题描述】:
我在一家公司遇到了一个非常有趣的问题,但我似乎根本找不到答案。
#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。 知道该怎么做吗?
【问题讨论】:
-
所以...您希望 res 为 305089171 而只能更改初始 num 值?
-
你知道想要的输出是什么。你知道算法是什么。向后运行。
-
这是一个通用的“编程逻辑问题”。是的,我希望最终输出为 305089171,只更改 num 值。我已经尝试了几个小时,但似乎找不到答案
-
@RawN
#include <cstdio>不符合 C. -
@ÁdámTósaki 我说的是
res=(res+num)%1000000000;中的%。%09d确实与这个问题无关,但如果你正在接受 C/C++ 面试问题,你应该知道%d做了什么。
标签: c++