Data update
This commit is contained in:
parent
8e4e15fa56
commit
72eb4943cb
1853 changed files with 35514 additions and 9441 deletions
|
|
@ -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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue