Набирая семизначный номер телефона, Петя понял, что забыл последова -
тельность набора трех первых цифр: 1, 4и 7. Сколько разных комбинаций
можно составить, переставляя цифры 1, 4и 7?
Пользуясь системным перебором, запиши все возможные варианты набора
первых трех цифр телефонного номера. Сколько вариантов получилось?
Проверь свой ответ. Нарисуй дерево возможных вариантов.
if логическое выражение then оператор
else оператор;
Неполное ветвление:
if логическое выражение then оператор;
Если ветвления вложенные и среди них есть неполные, надо помнить, что каждое else связывается с ближайшим предшествующим ему if, не имеющем else.
Например, рассмотрим конструкцию
if a>b then if c=d then x:=1 else x:=2;
Без упомянутого правила неясно, что имелось в виду:
if a>b then
if c=d then x:=1 else x:=2;
или же
if a>b then
if c=d then x:=1
else x:=2;
Знание правила позволяет разрешить вопрос: имеется в виду первый вариант.
А если нужно получить второй - к нашим услугам блок:
if a>b then
begin if c=d then x:=1 end
else x:=2;
var i,n,m,sum,pr,k,j:longint;
begin
sum:=0; pr:=1;
write('m: '); readln(m);
write('n: '); readln(n);
i:=2;
repeat
if m mod i = 0 then
begin
sum:=sum+i;
m:=m div i;
i:=2;
end
else inc(i);
until m=1;
writeln('Sum_M:', sum);
for i:=2 to n div 2 do
if n mod i = 0 then
begin
k:=2;
for j:=2 to i div 2 do
if i mod j = 0 then inc(k);
if (k>2)and(i mod 3 = 0 ) then
pr:=pr*i;
end;
writeln('Proizv_N:', pr);
if sum>pr then writeln('Da, sum prost del M > proizv sost del N')
else
writeln('Net, sum prost del M < proizv sost del N');
end.