Первое и четвёртое.
Неприличные посты удалить и объясниться перед близкими.
1 бочка = 3 галлона
2 бочка = 5 галлонов
Набираем во 2 бочку [0:5]
Переливаем из 2 в 1 бочку [3:2]
Выливаем из 1 бочки [0:2]
Переливаем из 2 в 1 бочку [2:0]
Набираем во 2 бочку [2:5]
Переливаем из 2 в 1 бочку [3:4]
Выливаем из 1 бочки [0:4]
Теперь у нас во второй бочку 4 галлона
<span>Во-первых, примем ограничение: число должно быть натуральным. т.е. целым и положительным без записи знака.
Во-вторых, возможны два принципиально разных алгоритма.
Первый
алгоритм предполагает, что число помещается оператором ввода в
целочисленную переменную и тогда мы получаем первую цифру, как
результат целочисленного деления на 10, третью - как остаток от целочисленного деления на 100, а вторую - как остаток от деления на 10 результата целочисленного деления на 10.
Второй алгоритм предполагает работу с символьным
изображением числа, т.е. после ввода получается символьная строка длиной
три. Первый (левый) символ будет первой цифрой числа и так далее.
Ниже приводятся тексты программ на языке Pascal, реализующие эти алгоритмы.</span>
<em>**********************************</em>
var
n:integer;
begin
Write('Введите целое трехзначное число без знака: '); Readln(n);
Writeln(n mod 10,(n div 10) mod 10,n div 100)
end.
<em><u>Тестовое решение:
</u></em>Введите целое трехзначное число без знака: 123
321
<em>**********************************</em>
var
n:string;
begin
Write('Введите целое трехзначное число без знака: '); Readln(n);
Writeln(n[3],n[2],n[1])
end.
<em><u>Тестовое решение:
</u></em>Введите целое трехзначное число без знака: 123
321
Можно проанализировать работу цикла по шагам (берутся при расчете всегда текущие, т.е. последние значения переменных). Цикл с параметром i выполняется 5 раз:
1 шаг. i=1, f=f*i=1*1=1
2 шаг. i=2, f=1*2=2
3 шаг. i=3, f=2*3=6
4 шаг. i=4, f=6*4=24
5 шаг. i=5, f=24*5=120
В результате вычисляется то, что называется факториалом числа (обозначается знаком !), в данном случае 5!
Ответ:
var t1,t2:text; c:char; f:boolean;
begin
assign(t1,'INPUT.TXT');
reset(t1);
assign(t2,'OUTPUT.TXT');
rewrite(t2);
f:=true;
while not eof(t1) and f do
begin
read(t1,c);
f:=f and (c='1');
end;
if f then writeln(t2,'YES')
else writeln(t2,'NO');
close(t1);
close(t2);
end.