В языке С/С++ любое ненулевое значение считается истинным.
Цикл с заголовком while (a(x)) выполнятся до тех пор. пока a(x) ненулевое, следовательно, при выходе из цикла a(x)=0.
Первоначально х=1 и если a(1) окажется равным нулю, то тело цикла не выполнится ни разу. В этом случае у будет равен начальному значению, т.е. у=1.
Если же а(1) не равняется нулю, то будет выполняться тело цикла. При у<0 переменная х получает значение 2, у получает значение 10. Мы должны полагать что а(2) ложно и тогда произойдет выход из цикла. Если же это не так, то тело цикла будет выполняться повторно. Ветка при y>=0 дает присваивание х=1, а мы рассматриваем вариант, когда такое значение не приводит к выходу из цикла, следовательно у=20 никогда не будет последним присваиванием значения у. Тогда возможен только вариант ответа 1 (у=1 или 10)
<em><u>Ответ:</u></em> Вариант 1
<u><em>Не пойму, где это может понадобиться, но пожалуйста:</em></u>
3762194662274677225006147833619028325244330646204236432925139720030670885330519044445501804761927745268763736929034118016031519410956059710016491867886889157890211484313592791062569915129529790346983079610400317269003975512764853909825684309294001486918614927217865484171497622917064676132001029225523861302285726809602736311578770958185727882065830756366057561021042715214545162477118465368433226000538225835881149829186249682400183653494069108786491864970103748052744856652666373379197565574074550935728305785527534076832933033391949562148135756886265861748671407745362911914163091988879273202451394592768
Var
a:array[1..1000]of longint;
n,m,k,i,l,min:longint;
begin
min:=maxlongint;
readln(n);
for i:=1 to n do
begin
readln(a[i]);
if a[i]<min then min:=a[i];
end;
writeln(a[i]);
readln;
end.
#include <iostream>using namespace std;int main(){string s;cin>>s;for(int i=6;i>=0;i--)cout<<s[i];}
F6, думаю можно было зайти в ворд и попробовать?