множество как вершины


множество как вершины графа, то необходимо найти гамильтонов цикл с ограничениями, приведенными в функции Can. При этом мы должны уметь выяснять для любой точки с номером k возможность построения из нее очередной стороны многоугольника. о96_3 Достаточно известная задача. Обычно решается для небольших значений N. Пусть N=2, тогда следующая простая логика дает количество счастливых четырехзначных чисел в интервале от 0000 до 9999. ... cnt:=0; for i:=0 to 9 do for j:=0 to 9 do for l:=0 to 9 do for k:=0 to 9 do if i+j-l-k=0 then inc(cnt); ... Как сделать ее независимой от значения N? Может быть, так: Function Rec(k,Sum:integer):comp; var i:integer;Ans:longint; begin if k=2*N+1 then if Sum=0 then Rec:=1{достигли конца числа и сумма цифр равна нулю - число счастливое} else Rec:=0 else begin Ans:=0; for i:=0 to 9 do if k<=N then Ans:=Ans+Rec(k+1,Sum+i) else if i<=Sum then Ans:=Ans+Rec(k+1,Sum-i); Rec:=Ans; end; end; Красивая реализация,
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz