32
Объяснение:
Данная программа прибавляет к переменной s 128, а еще увеличивает переменную n в два раза, и все это до тех пор пока s меньше или равняется 1024. То есть, эти изменения переменных прекратятся, когда условие цикла не будет выполнено (а именно, когда s станет больше 1024). И после того, как это произойдет программа выведет значение переменной n (как раз то, что нам нужно узнать!)
Итак, запустим программу:
n = 1
s = 0
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 2
s = 128
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 4
s = 256
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 8
s = 512
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 16
s = 1024
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 32
s = 2048
Условие цикла выполняется (s меньше или равняется 1024)? Нет (наконец-то!).
Цикл перестает выполнятся, и программа пишет значение n, которое равняется (смотрим выше) 32.
На экране напечатано 32, все живы, все счастливы!
(1) A
(2) AAB
(3) AABAABC
(4) AABAABCAABAABCD
(5)
(6)
(7)
(8)
AABAABCAABAABCDEFGH
(9)
A
(10)
A
class Number2
{
String[] Str_ = new String[30];
const string Alphabet = "";
public void Solve()
{
for (int i = 0; i < 10; i++)
{
if (i == 0)
{
Str_[i] += Alphabet[i];
}
else
{
Str_[i] = Str_[i - 1] + Str_[i - 1] + Alphabet[i];
}
Console.WriteLine("({0}) {1}", i + 1, Str_[i]);
if (Str_[i].Length >= 256)
{
Console.WriteLine("{0}",Str_[i][256 - 1]);
}
}
}
}