fork download
  1. using System;
  2.  
  3. namespace lab
  4. {
  5. class Programm
  6. {
  7. static int CalcSumOfDivisors(int number)
  8. {
  9. int sumOfDivisors = 0;
  10. for(int divisor = 1; divisor != number / 2 + 1; divisor++)
  11. {
  12. if (number % divisor == 0)
  13. sumOfDivisors += divisor;
  14. }
  15. return sumOfDivisors;
  16. }
  17.  
  18. static void PrintAllPerfectNumbers(int maxNumber)
  19. {
  20. Console.WriteLine("Досконалі числа: ");
  21. for (int number = 2; number <= maxNumber; number++)
  22. {
  23. if (CalcSumOfDivisors(number) == number)
  24. Console.WriteLine(number);
  25. }
  26. }
  27.  
  28. static void PrintAllAmicableNumbersPairs(int maxNumber)
  29. {
  30. Console.WriteLine("Пари дружніх чисел: ");
  31. for (int firstNumber = 2; firstNumber <= maxNumber; firstNumber++)
  32. {
  33. int secondNumber = CalcSumOfDivisors(firstNumber);
  34. if (firstNumber < secondNumber && firstNumber == CalcSumOfDivisors(secondNumber) && secondNumber <= maxNumber)
  35. Console.WriteLine($"{firstNumber} {secondNumber}");
  36. }
  37. }
  38. static void Main(string[] args)
  39. {
  40. Console.Write("Введіть до якого числа виконувати операції: ");
  41. int number = Convert.ToInt32(Console.ReadLine());
  42. PrintAllPerfectNumbers(number);
  43. PrintAllAmicableNumbersPairs(number);
  44. }
  45. }
  46. }
Success #stdin #stdout 0.45s 28816KB
stdin
10000
stdout
Введіть до якого числа виконувати операції: Досконалі числа: 
6
28
496
8128
Пари дружніх чисел: 
220 284
1184 1210
2620 2924
5020 5564
6232 6368