Advertisement
StreetKatya

3element

Feb 27th, 2023 (edited)
653
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.40 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace _3element
  9. {
  10.     internal class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             int result1 = WorkWithFile("A.txt");
  15.             int result2 = WorkWithFile("B.txt");
  16.             Console.WriteLine("Файл A: " + result1);
  17.             Console.WriteLine("Файл В: " + result2);
  18.             Console.ReadKey();
  19.         }
  20.         public static int WorkWithFile(string filename) //Метод чтения из файла
  21.         {
  22.             using (var sr = new StreamReader(filename))
  23.             {
  24.                 int[] array;
  25.                 int N = int.Parse(sr.ReadLine());
  26.                 array = new int[N];
  27.                 for (int i = 0; i < N; i++) //Читаем весь массив
  28.                 {
  29.                     array[i] = int.Parse(sr.ReadLine());
  30.                 }
  31.                 return Calculate(array);
  32.             }
  33.         }
  34.         public static int Calculate(int[] array) //Метод подсчёта ответа
  35.         {
  36.             int minsum = int.MaxValue; //Минимальная сумма изначально должна быть максимальным числом
  37.             for (int i = 0; i < array.Length; i++) //Идем тремя формами по всем элементам массива, перебирая все возможные варианты сумм
  38.             {
  39.                 int tempsum = 0;
  40.                 for (int j = i+1; j < array.Length; j++)
  41.                 {
  42.                     for (int k = j+1; k < array.Length; k++)
  43.                     {
  44.                         tempsum = array[i] + array[j] + array[k]; //варианты сумм
  45.                         if(tempsum % 3 == 0) //Если сумма удовлетворяет условию делимости на 3 и..
  46.                         {
  47.                             if(tempsum < minsum) // ..сумма меньше минимальной суммы
  48.                             {
  49.                                 minsum = tempsum; //запоминаем минимальную сумму
  50.                             }
  51.                         }
  52.                         tempsum = 0;
  53.                     }
  54.                 }
  55.             }
  56.             return minsum;
  57.         }
  58.     }
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement