Если интернет – огромная библиотека, то поисковые системы – ее сверхбыстрые сотрудники быстро сориентировать читателя (интернет-пользователя) в бескрайнем океане информации. В этом им систематизированная картотека – собственная база данных.
Когда пользователь вводит ключевую фразу, поисковая система показывает результаты из этой базы данных. То есть ПС хранят на своих серверах копии документов и обращаются к ним, когда пользователь отправляет запрос. Чтобы представить в выдаче определенную страницу, ее нужно сперва добавить в базу (индекс). Поэтому только что созданные сайты, о которых поисковики не знают, в выдаче не участвуют.
Поисковая система отправляет своего робота (он же паук, он же краулер) на поиски новых страниц, которые появляются в сети ежесекундно. Паучья стая собирает данные, передвигаясь по ссылкам с одной страницы на другую, и передает их в базу. Обработку информации производят уже другие механизмы.
// PascalABC.NET 3.0, сборка 1157 от 02.02.2016 begin var n:=ReadInteger('n='); if n<0 then Writeln(n,'! не определено: n<0') else if n=0 then Writeln('0!=1') else begin var p:BigInteger:=1; for var i:=2 to n do p*=i; Writeln(n,'!=',p) end end.
Если интернет – огромная библиотека, то поисковые системы – ее сверхбыстрые сотрудники быстро сориентировать читателя (интернет-пользователя) в бескрайнем океане информации. В этом им систематизированная картотека – собственная база данных.
Когда пользователь вводит ключевую фразу, поисковая система показывает результаты из этой базы данных. То есть ПС хранят на своих серверах копии документов и обращаются к ним, когда пользователь отправляет запрос. Чтобы представить в выдаче определенную страницу, ее нужно сперва добавить в базу (индекс). Поэтому только что созданные сайты, о которых поисковики не знают, в выдаче не участвуют.
Поисковая система отправляет своего робота (он же паук, он же краулер) на поиски новых страниц, которые появляются в сети ежесекундно. Паучья стая собирает данные, передвигаясь по ссылкам с одной страницы на другую, и передает их в базу. Обработку информации производят уже другие механизмы.
begin
var n:=ReadInteger('n=');
if n<0 then Writeln(n,'! не определено: n<0')
else
if n=0 then Writeln('0!=1')
else begin
var p:BigInteger:=1;
for var i:=2 to n do p*=i;
Writeln(n,'!=',p)
end
end.
Тестовое решение:
n= 138
138!=691778647261948849222819828311491035886734385827028118707676848307166514238979223884785249055995983385450621636277440066920043595627074569065446040152660143904127838730788278294186615891819670506731208704000000000000000000000000000000000