У исполнителя Альфа две команды, которым присвоены номера: 1). прибавь 1. 2). умножь на b (b - неизвестное натуральное число; b ≥ 2). Выполняя первую из них, Альфа увеличивает число на экране на 1, а выполняя вторую, умножает это число на b. Известно, что программа 11211 переводит число 12 в число 114. Определите значение b.
USES CRT;
VAR m1,m2,n,n1,n2,n3,n4,n5,n6,s1,s2:LongInt;
BEGIN
ClrScr;
ReadLn(n);
m1:=n;
n1:=m1 div 100;
n2:=m1 mod 10;
n3:=(m1-n1*100-n2) div 10;
if n1=n2 then if n1=n3 then writeln('vse =');
if n1=n2 then writeln('1 i 3 =');
if n2=n3 then writeln('2 i 3 =');
if n1=n3 then writeln('1 i 2 =')
else writeln('<>');
END.
Проверяйте, что непонятно - спрашивайте.
Можно чуть поправить вывод, чтобы когда vse =, не вылезали 1 i 3, 1 i 2, 2 i 3.
Да и вообще writeln'ов можно наставить и переменные назвать покрасивше. но это уж вы сами, думаю, справитесь. В VAR у меня тоже есть лишние переменные, переделывал старый свой код наспех =)
Всего хорошего.
n,k,i:integer;
begin
for n:=1 to 2 do
begin
writeln('Введите строку ',n,':');
readln(s);
k:=0;
for i:=1 to length(s) do
begin
case s[i] of
'[': k:=k+1;
']': k:=k-1;
end;
end;
if k=0
then writeln('В строке ',s,' количество [ и ] одинаково')
else writeln('В строке ',s,' количество [ и ] не одинаково');
end;
end.
Пример:
Введите строку 1:
c:=a[imax,j]; a[imax,j]:=a[imin,j]; a[imin,j]:=c
В строке c:=a[imax,j]; a[imax,j]:=a[imin,j]; a[imin,j]:=c количество [ и ] одинаково
Введите строку 2:
Просто [ пример ]] со [[ скобками
В строке Просто [ пример ]] со [[ скобками количество [ и ] не одинаково