|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alexey Danov 2:5020/400 26 Oct 2001 14:00:02 To : Egorov Pavel Subject : Re: Возвpащаясь к задаче о счастливых билетах --------------------------------------------------------------------------------
"Hе вынесла душа поэта..." ;-)
Вот самый быстрый алгоритм (Copyright (c) Alexey Danov )
задачи подсчета "счастливых билетиков".
Частный случай, т.е. n=3 k=0.
на PIII выполняется за ~190..210 тактов ( Delphi 5 {$O+} )
var i,s,r:integer; // s,r - int 32-bit !!!
begin
s := 0; r := 0; i := 0;
repeat
inc(i);
inc(r,i);
inc(s,r*r);
until i = 10;
repeat
dec(i,2);
inc(r,i);
inc(s,r*r);
until i <= 2;
writeln('Count: ',s);
end;
справедливости ради, есть еще один, самый быстрый,
но, пожалуй, не честный (а где проходит граница честности ??? :)
const result:array[0..X] of integer[0,10,620,55252,4816030,...]
begin
writeln('Count: ',Result[3]);
end;
--- ifmail v.2.15dev5
* Origin: Internet-Arkhangelsk Company (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/4418320a4241.html, оценка из 5, голосов 10
|