2010-04-12 44 views
2

我在編程測試中遇到了這個問題。你認爲這個問題甚至是正確的嗎?看看答案的選擇。 (2^x表示2上升到x)在下面的僞代碼中,我的值是多少?

考慮下面的僞代碼。
x:= 1;
i:= 1; (x> = 1000)

begin
x:= 2^x;
i:= i + 1;
end;

我在僞代碼結尾的值是多少?

一)4
b)中5
c)中6
d)7
E)8

我確信的i1的值。我告訴審查員這種差異,如果我認爲這是不正確的,他建議我不回答問題。我還能做些什麼?

+1

它應該是'x <= 1000' – 2010-04-12 12:08:26

回答

1

X < 1000,因此它不會進入一段時間。

或者存在問題的錯誤(和X應< = 1000,而不是> = 1000)

如果它是< = 1000它應該是5:

2 - 4 - 16 - 65K

2 - 3 - 4 - 5

1

這個問題測試兩件事情:

  1. 你可以閱讀代碼
  2. 你可以溝通/互動

既然你問到這一差異,表明1是真實的。我不確定你是否通過了2,這很大程度上取決於情況/期望。

我相信我會在答卷上留下一個註釋,說明'沒有給定'。

不是一個簡單的情況!

1

作爲寫入時,答案將是1。

對的,而測試被顛倒(即X < 1000),則該系列是:

在每次循環迭代

 
i = 2, x = 2 
i = 3, x = 2^2 = 4 
i = 4, x = 2^4 = 16 
i = 5, x = 2^16 = 65,536

因此結束時,我會5

0

如果我在那裏你,我會說,它是以上皆非基本上說,因爲while循環開始時x小於1000,所以i的值永遠不會被修改。我認爲在測驗中留下空白答案是一件壞事,最好寫一些你認爲相關的東西。如果你認爲存在一個錯誤,你可以在陳述你的答案之前總是陳述一個假設,所以在這種情況下,你可以說while循環從來沒有工作,否則你明確地陳述一個假設,在這種情況下,它會就像「假設問題中有錯誤,並且」while(x> = 1000)「實際上應該是」while(x < = 1000)「... 然後,繼續您的工作。

相關問題