|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Egorov Pavel 2:5080/169.35 26 Oct 2001 23:30:25 To : Alexey Danov Subject : Возвpащаясь к задаче о счастливых билетах --------------------------------------------------------------------------------
On Friday October 26 2001 you wrote to Egorov Pavel:
AD> Вот самый быстрый алгоритм (Copyright (c) Alexey Danov )
AD> задачи подсчета "счастливых билетиков".
AD> Частный случай, т.е. n=3 k=0.
AD> на PIII выполняется за ~190..210 тактов ( Delphi 5 {$O+} )
AD> var i,s,r:integer; // s,r - int 32-bit !!!
AD> begin
AD> s := 0; r := 0; i := 0;
AD> repeat
AD> inc(i);
AD> inc(r,i);
AD> inc(s,r*r);
AD> until i = 10;
AD> repeat
AD> dec(i,2);
AD> inc(r,i);
AD> inc(s,r*r);
AD> until i <= 2;
AD> writeln('Count: ',s);
AD> end;
Разбираться прямо скажем неохота, но если я правильно понял это решение именно
одного частного случая. Если ты претендуешь на скорость решения этого частного
случая, то побить
begin writeln(55252) end.
будет сложновато...
Если претендуешь на решение всей задачи - приводи алгоритм для решения ВСЕЙ
задачи (на вход - n и k, на выход - результат)
ЗЫ
32-битный integer называется longint
Hу, Все! Пока Alexey.
--- GoldED/386 3.00.Alpha3+
* Origin: 2+2=4 это не тождество, а выражение равное TRUE (2:5080/169.35)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/39993bd9f318.html, оценка из 5, голосов 10
|