Advertisement
QwarkDev

Дружественные числа

Jul 1st, 2021
1,099
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.31 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ConsoleApp1
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int k = int.Parse(Console.ReadLine());
  10.  
  11.             int[] printed = new int[k];
  12.             int printNumber = 1;
  13.  
  14.             for (int i = 0; i < k; i++)
  15.             {
  16.                 int sum = SumOfDels(i);
  17.                 int sum2 = SumOfDels(sum);
  18.  
  19.                 Console.Title = i.ToString();
  20.  
  21.                 if (i == 20000)
  22.                     i += 40000;
  23.  
  24.                 if (i == sum2)
  25.                 {
  26.                     int max = i > sum ? i : sum;
  27.                     int min = i < sum ? i : sum;
  28.  
  29.                     if (printed[min] == 1 || max == min || max > k || min > k)
  30.                         continue;
  31.  
  32.                     printed[min] = 1;
  33.  
  34.                     i += 950;
  35.                    
  36.                     Console.WriteLine($"{printNumber++}. {min} и {max}");
  37.                 }
  38.             }
  39.         }
  40.  
  41.         static int SumOfDels(int n)
  42.         {
  43.             int sum = 0;
  44.  
  45.             // Было: i = 1; i < n; i++
  46.             for (int i = 1; i < n / 2 + 1; i++)
  47.             {
  48.                 if (n % i == 0)
  49.                 {
  50.                     sum += i;
  51.                 }
  52.             }
  53.  
  54.             return sum;
  55.         }
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement