Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- namespace _02_Rotate_and_Sum
- {
- class Program
- {
- static void Main(string[] args)
- {
- long[] numbers = Console.ReadLine().Split(' ').Select(long.Parse).ToArray();
- long rotates = long.Parse(Console.ReadLine());
- //if (rotates >= 1)
- //{
- long[] firstRotate = (long[])numbers.Clone();
- long[] sum = new long[firstRotate.Length];
- for (long i = 0; i < rotates; i++)
- {
- firstRotate = RotateArray(firstRotate);
- sum = GetSum(sum, firstRotate);
- }
- for (long i = 0; i < sum.Length; i++)
- {
- Console.Write(sum[i] + " ");
- }
- // }
- }
- private static long[] RotateArray(long[] firstRotate)
- {
- if (firstRotate.Length <= 1)
- {
- return firstRotate;
- }
- long[] rotateArray = new long[firstRotate.Length];
- //Last symbol is goint to index 0
- rotateArray[0] = firstRotate[firstRotate.Length - 1];
- rotateArray[rotateArray.Length - 1] = firstRotate[firstRotate.Length - 2];
- for (long i = 1; i <= firstRotate.Length - 2; i++)
- {
- rotateArray[i] = firstRotate[i - 1];
- }
- return rotateArray;
- }
- static long[] GetSum(long[] sum, long[] firstRotate)
- {
- for (long i = 0; i < sum.Length; i++)
- {
- sum[i] += firstRotate[i];
- }
- return sum;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement