Предмет: Информатика, автор: Аноним

Два различных натуральных числа n и m называются дружественными, если сумма делителей числа n (включая 1, но исключая само n) равна числу m и наоборот. Например, 220 и 284 – дружественные числа. По данному числу k выведите все пары дружественных чисел, каждое из которых не превосходит k.
написать на c#

Ответы

Автор ответа: asilvejstruk
0

using System;

namespace FriendlyNumbers

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Please enter a number: ");

int k = Convert.ToInt32(Console.ReadLine());

for (int n = 1; n <= k; n++)

{

int sum = 0;

for (int i = 1; i < n; i++)

{

if (n % i == 0)

{

sum += i;

}

}

for (int m = n + 1; m <= k; m++)

{

int sum2 = 0;

for (int j = 1; j < m; j++)

{

if (m % j == 0)

{

sum2 += j;

}

}

if (sum == m && sum2 == n)

{

Console.WriteLine("Friendly numbers are {0} and {1}", n, m);

}

}

}

}

}

}

Похожие вопросы