Сумма кодов букв трех имен деленное на 3 даст ... ? - C#
Формулировка задачи:
задача заключается в следующем. необходимо взять 3 имени , потом имена перевести в числовой код ASCII. Далее, необходимо сложить все числа и сумму разделить на 3. Поидее, должно получится число, которое дает в сумме одно из имен.
возможно ли это, или я неправильно понял задачу ?
Решение задачи: «Сумма кодов букв трех имен деленное на 3 даст ... ?»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { var names = new []{ "Петя", "Маша", "Альберт" }; Console.WriteLine(string.Join(" ", names)); var namesNum = names.Select(s => s.Cast<char>().Select(c => (int)c)); var sum = namesNum.Aggregate((i, j) => i.Zip(j)).Select(n => (char)(n/3)); Console.WriteLine(new string(sum.ToArray())); } } public static class EnumZip { public static IEnumerable<int> Zip(this IEnumerable<int> first, IEnumerable<int> second) { var firstCount = first.Count(); var secondCount = second.Count(); if (firstCount < secondCount) { var tmp = first; first = second; second = tmp; var temp = firstCount; firstCount = secondCount; secondCount = temp; } for (int i = 0; i < firstCount; i++) { yield return first.ElementAt(i) + (secondCount > i ? second.ElementAt(i) : 0); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д