Мой совет - запомнить как основную формулу для суммы первых n натуральных чисел
Доказывается она так: записываем те же числа в обратном порядке:
и складываем эти равенства таким образом: первое слагаемое с первым, второе со вторым и т.д. Поскольку в первой сумме каждое следующее слагаемое на 1 больше предыдущего, а во второй на 1 меньше предыдущего, мы получим сумму одинаковых чисел:
слагаемых всего n, поэтому
Теперь несложно найти сумму первых n четных чисел. Можно провести подобную выкладку, а можно свести новую задачу к предыдущей:
C#. Пример работы на изображении. (Входные данные отличаются)
using System;
using System.Collections.Generic;
using System.Linq;
namespace NSymbs
{
class Program
{
static void Main(string[] args)
{
string input;
input = Console.ReadLine();
int[] param = input.Split("\t ".ToCharArray()).Select(x => int.Parse(x)).ToArray();
input = Console.ReadLine();
int z = input.Length / param[1];
List<string> bufer = new List<string>();
for (int i = 0; i < z; ++i)
bufer.Add(input.Substring(i*param[1], param[1]));
Console.WriteLine(bufer.Distinct().Count());
}
}
}
Доказывается она так: записываем те же числа в обратном порядке:
и складываем эти равенства таким образом: первое слагаемое с первым, второе со вторым и т.д. Поскольку в первой сумме каждое следующее слагаемое на 1 больше предыдущего, а во второй на 1 меньше предыдущего, мы получим сумму одинаковых чисел:
слагаемых всего n, поэтому
Теперь несложно найти сумму первых n четных чисел. Можно провести подобную выкладку, а можно свести новую задачу к предыдущей:
ответ: