Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function calculate(n:Integer): Integer;
- var
- square:Extended;
- isquare,candidate: Integer;
- begin
- square := Sqrt(n);
- isquare := Floor(square);
- if (isquare = square) then
- Result := -1
- else
- Result := 0;
- for candidate := 1 to isquare do
- begin
- if (n mod candidate) = 0 then
- Result := Result + 2;
- end;
- end;
- var
- triangle, index,t: Integer;
- begin
- t := GetSystemTime();
- triangle := 1;
- index := 1;
- while calculate(triangle) < 1001 do
- begin
- Inc(index);
- triangle := triangle + index;
- end;
- WriteLn((GetSystemTime()-t)/1000);
- WriteLn(triangle);
- end.
- #------------------------ Subset thingy: ------------------------------#
- function calculate(n)
- begin
- square := Sqrt(n);
- isquare := floor(square);
- if (isquare == square) then
- Result := -1
- else do
- Result := 0;
- end
- for candidate := 1 to isquare do
- if (n % candidate) == 0 then
- Result += 2;
- end;
- end;
- end;
- begin
- t := GetSystemTime();
- triangle := 1;
- index := 1;
- while calculate(triangle) < 1001 do
- Inc(index);
- triangle += index;
- end;
- WriteLn((GetSystemTime()-t)/1000);
- WriteLn(triangle);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement