Почему я получаю эту ошибку: не все пути кода возвращают значение?

Привет, я новичок в C # и пытался написать код, но, получив ошибку, кто-нибудь может мне помочь с этим, что я делаю не так?

using System;
using System.Collections.Generic;
using System.Text;

namespace hodder
{
    class Program
    {
        public static void Main()
        {
            isHodder(3);
        }

        static int isHodder(int n)
        {
            int k = n;
            for (int i = 2; i <= n / 2;i++ )
            {
                if ((n % 1) == 0)
                {
                    return 0;
                }
                else
                {
                    for (int j = 2; j <= k;j++ )
                    {
                        if (n == (2^ j)  - 1)
                        {
                            return 1;
                        }
                        else
                        {
                            return 0;
                        }
                        k=(2^j)-1;
                    }
                }
            }
        }
    }
}

я получаю сообщение об ошибке «static int isHodder (int n)», «hodder.Program.isHodder (int)»: не все пути кода возвращают значение

и «Обнаружен недоступный код» на «k = (2 ^ j) -1»

Ответы на вопрос(5)

Ваш ответ на вопрос