например число 123 - 6 комбинаций, 120 - 4 комбинации.
также работает с 4значными
Объяснение:
program prog;
var num,i,j,tmp:integer;
arr:array [1..4] of integer=(-1,-1,-1,-1);
zero: boolean;
begin
writeln('Input number:');
readln(num);
i:=1;j:=1;zero:=false;
while num<>0 do begin
tmp:=num mod 10;
if (tmp<>arr[1]) and (tmp<>arr[2]) and (tmp<>arr[3]) and (tmp<>arr[4]) then begin
arr[i]:=tmp;
if (zero=false) and (tmp=0) then zero:=true;
write(i,':');
writeln('arr[i]=',arr[i]);
writeln('num=',num);
i:=i+1
end;
num:=num div 10;
end;
num:=1;tmp:=1;
i:=i-1;
for j:=1 to i do num:=num*j;
if zero=true then begin
for j:=1 to i-1 do tmp:=tmp*j;
num:=num-tmp;
end;
writeln('vsego chisel =',num);
end.
9.Определите значение переменной a после выполнения фрагмента программы:
a:=10;
b:=3;
if a > b then b:=b+12//а больше б, значит к б прибавим 12 и получим что б 21
else a:=a-7;//а это игнорим
if a > b then a:=a+12//теперь а не больше б(б21 а а 10), так что к а прибавим 12, получаем а 22
else a:=a-7;// а это игнорим
А = 22.
11.Определите что будет напечатано в результате работы следующей программы.
Var k,i: integer;
Begin
k :=4;/к равно 4
For i := 1 to 3 do//следующая строка повториться 3 раза, а и при этом будет меняться от 1 до 3
k := 2*k +i;
// При и равном 1 к станет 9
// При и равном 2 к станет 20
// При и равном 3 к станет 43
Writeln(k);// выведет 43
end.
ответ 43
12.Определите что будет напечатано в результате работы следующей программы.
Var s,i: integer;
Begin
s :=3;
For i := 2 to 5 do// и будет меняться от 2 до 5
s := s+2*i
//К с будет прибавляется 2i т.е. сперва 3;7;13;21;31
Writeln(s) ;//31
end
ответ:31
13.Определите что будет напечатано в результате работы следующей программы.
Var s,n: integer;
Begin
s :=1;
For n := 3 to 8 do//повториться 6 раз
s := s*2// каждый раз s увеличивается вдвое, т.е.это 2 в 6 степени
write(s) ;
end.
ответ:64
14.Чему будет равно значение переменной а после выполнения этого цикла?
i:=4;
a:=12;
while i<6 do begin//по сути он повторится 2 раза, а и будет принимать значение от 4 до 5
a:=a+i;//а увеличиваем на и: сперва это 16, потом 21
i:=i+1
end.
ответ:21