Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,959 questions

51,901 answers

573 users

How to check if two halves of a number are equal in Pascal

1 Answer

0 votes
program HalfCheck;

function HalvesEqual(n: LongInt): Boolean;
var
  s: string;
  i, len, half: Integer;
begin
  Str(n, s);            { convert number to string }
  len := Length(s);

  if (len mod 2) <> 0 then
  begin
    HalvesEqual := False;   { odd number of digits }
    Exit;
  end;

  half := len div 2;

  { compare first half and second half }
  for i := 1 to half do
    if s[i] <> s[i + half] then
    begin
      HalvesEqual := False;
      Exit;
    end;

  HalvesEqual := True;
end;

var
  testNumbers: array[1..5] of LongInt = (1212, 123123, 45454545, 123, 1213);
  i: Integer;

begin
  for i := 1 to 5 do
  begin
    Write(testNumbers[i], ' -> ');
    if HalvesEqual(testNumbers[i]) then
      Writeln('equal halves')
    else
      Writeln('not equal');
  end;

  ReadLn;
end.




(*
run:

1212 -> equal halves
123123 -> equal halves
45454545 -> equal halves
123 -> not equal
1213 -> not equal

*)




answered Dec 21, 2025 by avibootz
...