Data update

This commit is contained in:
Ingy döt Net 2025-02-27 18:35:13 -05:00
parent 8e4e15fa56
commit 72eb4943cb
1853 changed files with 35514 additions and 9441 deletions

View file

@ -0,0 +1,28 @@
type
ErrOdd = class (Exception) end;
ErrLen = class (Exception) end;
function middle_three_digits(i: integer): string;
begin
var s := abs(i).ToString;
if s.Length < 3 then raise new ErrLen;
if s.Length mod 2 = 0 then raise new ErrOdd;
var mid := s.Length div 2;
result := s[mid:mid + 3];
end;
begin
var passing := |123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345|;
var failing := |1, 2, -1, -10, 2002, -2002, 0|;
foreach var x in passing + failing do
try
var answer := middle_three_digits(x);
writeln(x:10, ' -> ', answer);
except
on ErrOdd do
writeln(x:10, ' -> must have an odd number of digits');
on ErrLen do
writeln(x:10, ' -> must have 3 digits or more');
end;
end.