初始化时,哪个num值会为该嵌套循环提供“ true”输出?

时间:2019-04-30 14:04:55

标签: c++ for-loop if-statement

在考试中遇到了这个问题,并且可以肯定有一些技巧。

“假设num在此循环之前已初始化为某个值。哪个num值将给出“ true”输出?”

int result = 0; 
for (i = 0; i < num; i++)
     if (i % 3 == 1)
     result += i;

     if result == num 
          cout << "True" << endl;
     else
          cout << "False" << endl;

a)4

b)5

c)6

d)7

是新手程序员。谁能解释发生了什么事?

1 个答案:

答案 0 :(得分:3)

要解决此问题,请写下一个整数列表,使其余部分等于1。

1, 4, 7, ...

然后计算它们的总和

1, 5, 12, ...    

因此正确答案是num等于5,因为它是建议答案列表中唯一的数字(4,5,6,7)总和。

请注意if语句的正确编写。

必须有

if ( result == num )

代替

if result == num