123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System;
- class Program
- {
-
- static void Main()
- {
- // Получаем входные данные от пользователя
- int n = GetInput();
- // Вычисляем сумму 1+2+...+n и значение n(n+1)/2
- long sumResult = CalculateSum(n);
- long formulaResult = CalculateFormula(n);
- // Выводим результаты
- DisplayResults(n, sumResult, formulaResult);
- }
-
- static int GetInput()
- {
- int n;
- Console.WriteLine("Программа проверяет равенство: 1+2+...+n = n(n+1)/2");
- // Запрашиваем ввод, пока не будет введено корректное натуральное число
- while (true)
- {
- Console.Write("Введите натуральное число n: ");
- string input = Console.ReadLine();
- // Проверяем, является ли ввод целым числом и больше нуля
- if (int.TryParse(input, out n) && n > 0)
- {
- break;
- }
- Console.WriteLine("Ошибка! Введите целое число больше нуля.");
- }
- return n;
- }
-
- static long CalculateSum(int n)
- {
- long sum = 0;
- // Суммируем все числа от 1 до n
- for (int i = 1; i <= n; i++)
- {
- sum += i;
- }
- return sum;
- }
-
-
- static long CalculateFormula(int n)
- {
- // Вычисляем по формуле (n*(n+1))/2
- // Используем long для избежания переполнения при больших n
- return (long)n * (n + 1) / 2;
- }
-
- static void DisplayResults(int n, long sumResult, long formulaResult)
- {
- Console.WriteLine($"\nРезультаты для n = {n}:");
- Console.WriteLine($"Сумма 1+2+...+n = {sumResult}");
- Console.WriteLine($"Значение по формуле n(n+1)/2 = {formulaResult}");
- // Сравниваем результаты и выводим заключение
- if (sumResult == formulaResult)
- {
- Console.WriteLine($"\nРавенство выполняется: {sumResult} = {formulaResult}");
- Console.WriteLine("Таким образом, формула 1+2+...+n = n(n+1)/2 верна для данного n.");
- }
- else
- {
- Console.WriteLine($"\nОшибка! {sumResult} ≠ {formulaResult}");
- Console.WriteLine("Формула не работает для данного n.");
- }
- }
- }
|