Advertisement
Guest User

Untitled

a guest
Apr 25th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Fold_and_sum
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. int[] numbers = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
  14.  
  15. int k = numbers.Length / 4; // разделям дължината на масива на 4 (3 са, но средният е 2к)
  16. int[] leftArr = numbers.Take(k).ToArray();//масив за първата част, която взима numbers.Length/4
  17. int[] middleArr = numbers.Skip(k).Take(2 * k).ToArray();//масив за първата част, която прескача к и взима 2 * к
  18. int[] rightArr = numbers.Skip(3 * k).Take(k).ToArray();// масив за третата част, която прескача к и 2 * к
  19.  
  20. Array.Reverse(leftArr);// обръщам лявата част
  21. Array.Reverse(rightArr);//обръщам дясната част
  22.  
  23. int[] result = new int[2 * k];
  24.  
  25. for (int index = 0; index < k; index++)
  26. {
  27. result[index] = leftArr[index] + middleArr[index];
  28. result[index + k] = rightArr[index] + middleArr[index + k];//index + k e втората половина , събира с index, което е к.
  29. }
  30. Console.WriteLine(string.Join(" ", result));
  31. }
  32. //прочитаме масив от 4*к числа . Първите 2 числа и последните две се обръщат и се събират със средните, които са 2 *к.
  33. //5 2 3 6 = 5 6 + 2 3 = 7 9
  34.  
  35. }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement