нужно хотя бы идею способа реализации в паскале.или хотя бы просто идею)спасибо за внимание)
Можно переформулировать в других терминах: найти все семизначные числа в пятеричной системе счисления, в которых общее количество цифр 0 и 1 равно трем, а цифра 2 встречается не менее двух раз. Почему так - понятно?
Дальше просто решаешь перебором тождественную задачу. Если не программировать, то можно посчитать аналитически.
все решила по формулам. рассматривая возможности:
1) n1+n2=3 n3=2 -> n4+n5=2-> появляются возможности:
n1=3 n2=0 n3=2 n4=2 n5=0
n1=3 n2=0 n3=2 n4=1 n5=1
n1=3 n2=0 n3=2 n4=0 n5=2
n1=0 n2=3 n3=2 n4=2 n5=0
n1=0 n2=3 n3=2 n4=1 n5=1
n1=0 n2=3 n3=2 n4=0 n5=2
n1=1 n2=2 n3=2 n4=2 n5=0
n1=1 n2=2 n3=2 n4=1 n5=1
n1=1 n2=2 n3=2 n4=0 n5=2
n1=2 n2=1 n3=2 n4=2 n5=0
n1=2 n2=1 n3=2 n4=1 n5=1
n1=2 n2=1 n3=2 n4=0 n5=2
2) n1+n2=3 n3=3 -> n4+n5=1-> появляются возможности:
n1=3 n2=0 n3=3 n4=1 n5=0
n1=3 n2=0 n3=3 n4=0 n5=1
n1=0 n2=3 n3=3 n4=0 n5=1
n1=0 n2=3 n3=3 n4=1 n5=0
n1=1 n2=2 n3=3 n4=1 n5=0
n1=1 n2=2 n3=3 n4=0 n5=1
n1=2 n2=1 n3=3 n4=0 n5=1
n1=2 n2=1 n3=3 n4=1 n5=0
3)n1=3 n2=0 n3=4 n4=0 n5=0
n1=0 n2=3 n3=4 n4=0 n5=0
n1=2 n2=1 n3=4 n4=0 n5=0
n1=1 n2=2 n3=4 n4=0 n5=0
теперь по формулам вида Р(к1,к2,к3,к4,к5)=n!/(k1!*...*k5!)
в итоге получается =9240
на паскаль сил нет)
Аналитическое решение гораздо круче
А Паскаль согласен с ответом:
program Code;
const
n = 7;
q = 5;
var
a: array[0..n] of Integer;
i, n12, n3, nr: Integer;
Done: Boolean;
begin
for i := 0 to n do
a[i] := 0;
nr := 0;
repeat
n12 := 0;
n3 := 0;
for i := 0 to n - 1 do
case a[i] of
0, 1:
Inc(n12);
2:
Inc(n3);
end;
if (n12 = 3) and (n3 >= 2) then Inc(nr);
Inc(a[0]);
Done := True;
for i := 0 to n - 1 do
begin
if a[i] >= q then
begin
Dec(a[i], q);
Inc(a[i + 1]);
end;
if a[i] <> 0 then Done := False;
end;
until Done;
Writeln(nr);
end.
аааа..спасибо большое))здорово))