Merhaba,bu kod 600851475143 sayısının asal bölenlerini veriyor fakat sayının niçin karekökünü alındığını anlayamadım yardımcı olursanız sevinirim
static void Main(string[] args)
{
long n = 600851475143;
for (int i = 1; i <= Math.Sqrt(n) + 1; i++)
if (n % i == 0 && IsPrime(i))
Console.Write(" " + i);
}
public static bool IsPrime(int number)
{
if (number == 1 || number == 2)
{
return true;
}
for (int i = 2; i <= Math.Sqrt(number) + 1; i++)
{
if (number % i == 0)
{
return false;
}
}
return true;
}