нужно хотя бы идею способа реализации в паскале.или хотя бы просто идею)спасибо за внимание)
xds
14.12.2008 21:23
Можно переформулировать в других терминах: найти все семизначные числа в пятеричной системе счисления, в которых общее количество цифр 0 и 1 равно трем, а цифра 2 встречается не менее двух раз. Почему так - понятно?
Дальше просто решаешь перебором тождественную задачу. Если не программировать, то можно посчитать аналитически.
кучаТрупов
14.12.2008 21:57
все решила по формулам. рассматривая возможности: 1) n1+n2=3 n3=2 -> n4+n5=2-> появляются возможности:
теперь по формулам вида Р(к1,к2,к3,к4,к5)=n!/(k1!*...*k5!) в итоге получается =9240
на паскаль сил нет)
xds
14.12.2008 23:19
Аналитическое решение гораздо круче
А Паскаль согласен с ответом:
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.
кучаТрупов
14.12.2008 23:29
аааа..спасибо большое))здорово))
xds
14.12.2008 23:44
Цитата(кучаТрупов @ 15.12.2008 2:29)
аааа..спасибо большое))здорово))
На здоровье!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.