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

1 Answer

0 votes
using System;

class Program
{
    static bool HalvesEqual(int n) {
        string s = n.ToString();
        int len = s.Length;

        if (len % 2 != 0)
            return false; // cannot split evenly

        int half = len / 2;

        string left  = s.Substring(0, half);
        string right = s.Substring(half, half);

        return left == right;
    }

    static void Main()
    {
        int[] testNumbers = {1212, 123123, 45454545, 123, 1213};

        foreach (int n in testNumbers) {
            Console.WriteLine($"{n} -> {(HalvesEqual(n) ? "equal halves" : "not equal")}");
        }
    }
}



/*
run:

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

*/

 



answered Dec 21, 2025 by avibootz
...