Главная
>
Смешные картинки
>
geek
geek
Прикольные гаджеты. Научный, инженерный и айтишный юмор Подписчиков: 5105 Сообщений: 17051 Рейтинг постов: 191,351.2реактор программирование geek spahetti code песочница пост из чистилища dev
Когда код для сайта писал пьяный индус за пачку лапши.
пидоры помогите программирование geek код песочница
Помогите определить язык программирования
Необходим этот код. Понять, на каком языке он написан, так и не смог. Либо он написан с ошибками, либо это вообще не какой-то популярный код. Пробовал Паскаль и Питон, глянул на Руби и Джаву, но там другой синтакс. Про С-подобные вообще молчу, точно не оно.const Predicate=3000;//Integer.MaxValue;
Xfirst = 0;
var a:=1;
m:=1;
c:=1;
x1:=1;
Xprev:=0;
ReferenceArray:array of Cardinal;
CandidateArray:array of Cardinal;
procedure putSeq2Array(const ReferenceXfirst,ReferenceA:Cardinal;ReferenceC:Cardinal;ReferenceM:Cardinal;arr:array of Cardinal);
var i:Integer;
var myXNew:Integer;
begin
myXNew:=ReferenceXfirst;
for i:=0 to Length(arr)-1 do
begin
arr[i]:=myXNew;
myXNew:=(ReferenceA*myXNew+ReferenceC) mod ReferenceM;
end;
end;
function TryUse(const CandidateXfirst,CandidateA,CandidateC,CandidateM:Cardinal):Boolean;
var i,j:Integer;
begin
if ReferenceArray=nil then begin result:=false; exit; end;
SetLength(CandidateArray,Length(ReferenceArray));
putSeq2Array(CandidateXfirst,CandidateA,CandidateC,CandidateM,CandidateArray);
//CandidateArray и ReferenceArray могут начинаться с неодинаковых элементов
//попробуем найти первый одинаковый элемент, result:=false иначе
result:= false;
for i:=0 to Length(ReferenceArray)-1 do
if CandidateArray[i]=ReferenceArray[0] then
begin
for j:=i to Length(ReferenceArray)-1-i do
if CandidateArray[j]ReferenceArray[j-i] then begin result:=false; exit;end
else result:= true;
end;
//else begin result:=false; exit;end;
end;
procedure TryFind();
var Ci,Mi,Ai,Xprev_i:Integer;
begin
for Ci:=c to Predicate do
for Mi:=m to Predicate do
for Ai:=a to Predicate do
if (Ai*8+Ci) mod Mi = 10 then
begin
if (Ai*18+Ci) mod Mi = 28 then//if (4*Ai+Ci) mod Mi =3 then
begin
if (Ai*28+Ci) mod Mi = 14 then
begin
if (Ai*14+Ci) mod Mi =8 then//if (Ai*Xprev_i+Ci) mod Mi = 1 then writeln('of cause a='+Ai+' ,c='+Ci+' ,m= '+Mi+' ,XPrev='+XPrev_i);
if TryUse(14,Ai,Ci,Mi) then
writeln('a='+Ai+' ,c='+Ci+' ,m= '+Mi);
end;
end;
end;
end;
BEGIN
SetLength(ReferenceArray,51);
putSeq2Array(0,5,2,32,ReferenceArray);
TryFind();
END.
Отличный комментарий!