Построить последовательность чисел - C#
Формулировка задачи:
Последовательность чисел строится следующим образом. Первым элементом является число 1, затем из очередных чисел натурального ряда выбираются два числа кратных 2, три числа кратных 3, четыре числа кратных 4 и т.д. Первые элементы последовательности следующие: 1, 2, 4, 6, 9, 12, 16, 20, 24, 28, 30, 35, 40…
Напишите программу, вычисляющую N-й элемент последовательности.
В первой строке ввода содержится одно целое число N (1 ≤ N ≤ 1 000 000).
Вывести N-й элемент последовательности.
Пример ввода
5
Пример вывода
9
Решение задачи: «Построить последовательность чисел»
textual
Листинг программы
using System;
using static System.Math;
using static System.Console;
class Program
{
static void Main()
{
int n = int.Parse(ReadLine());
var t = Term(n);
var r = t * (n - Floor(t * (t + 1) / 6));
WriteLine(r);
}
static double Term(int n)
{
return Ceiling((Sqrt(1 + 8 * n) - 1) / 2);
}
}