Program.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using System;
  2. class Program
  3. {
  4. static void Main()
  5. {
  6. // Получаем входные данные от пользователя
  7. int n = GetInput();
  8. // Вычисляем сумму 1+2+...+n и значение n(n+1)/2
  9. long sumResult = CalculateSum(n);
  10. long formulaResult = CalculateFormula(n);
  11. // Выводим результаты
  12. DisplayResults(n, sumResult, formulaResult);
  13. }
  14. static int GetInput()
  15. {
  16. int n;
  17. Console.WriteLine("Программа проверяет равенство: 1+2+...+n = n(n+1)/2");
  18. // Запрашиваем ввод, пока не будет введено корректное натуральное число
  19. while (true)
  20. {
  21. Console.Write("Введите натуральное число n: ");
  22. string input = Console.ReadLine();
  23. // Проверяем, является ли ввод целым числом и больше нуля
  24. if (int.TryParse(input, out n) && n > 0)
  25. {
  26. break;
  27. }
  28. Console.WriteLine("Ошибка! Введите целое число больше нуля.");
  29. }
  30. return n;
  31. }
  32. static long CalculateSum(int n)
  33. {
  34. long sum = 0;
  35. // Суммируем все числа от 1 до n
  36. for (int i = 1; i <= n; i++)
  37. {
  38. sum += i;
  39. }
  40. return sum;
  41. }
  42. static long CalculateFormula(int n)
  43. {
  44. // Вычисляем по формуле (n*(n+1))/2
  45. // Используем long для избежания переполнения при больших n
  46. return (long)n * (n + 1) / 2;
  47. }
  48. static void DisplayResults(int n, long sumResult, long formulaResult)
  49. {
  50. Console.WriteLine($"\nРезультаты для n = {n}:");
  51. Console.WriteLine($"Сумма 1+2+...+n = {sumResult}");
  52. Console.WriteLine($"Значение по формуле n(n+1)/2 = {formulaResult}");
  53. // Сравниваем результаты и выводим заключение
  54. if (sumResult == formulaResult)
  55. {
  56. Console.WriteLine($"\nРавенство выполняется: {sumResult} = {formulaResult}");
  57. Console.WriteLine("Таким образом, формула 1+2+...+n = n(n+1)/2 верна для данного n.");
  58. }
  59. else
  60. {
  61. Console.WriteLine($"\nОшибка! {sumResult} ≠ {formulaResult}");
  62. Console.WriteLine("Формула не работает для данного n.");
  63. }
  64. }
  65. }