Найти сумму простых чисел, которые не превышают заданное число N - C#

Узнай цену своей работы

Формулировка задачи:

Доброе время,есть такая вот задачка. Написать функцию, которая получает на вход положительное целое число n и возвращает сумму всех простых чисел, не превышающих n. Пример. Вход n=18. Простые числа, не превышающие 18 — это 2, 3, 5, 7, 11, 13 и 17, поэтому функция должна вернуть их сумму, равную 58. Вот мое решение, но тут то 2 не попадает,как это исправить?
Листинг программы
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. int n = 0;
  6. int b = 0;
  7. n = int.Parse(Console.ReadLine());
  8. if (n > 0)
  9. {
  10. for (int i = 2; i < n; i++)
  11. {
  12. Console.WriteLine("i={0}", i);
  13. if (i % 2 != 0)
  14. {
  15. b += i;
  16. Console.WriteLine("Простое число {0}", i);
  17. }
  18. }
  19. Console.WriteLine("Cумма простих чисел равна {0}", b);
  20. }
  21. else Console.WriteLine("Не верные данные");
  22.  
  23. System.Console.ReadLine();
  24. }
  25. }

Решение задачи: «Найти сумму простых чисел, которые не превышают заданное число N»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace primeNumbers
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Console.Write("Enter any integer number: ");
  14.             int number = int.Parse(Console.ReadLine());
  15.  
  16.             List<int> primeNumbers = new List<int>();
  17.  
  18.             for (int i = 2; i < number; i++)
  19.             {
  20.                 if (IsPrime(i))
  21.                 {
  22.                     primeNumbers.Add(i);
  23.                 }
  24.             }
  25.  
  26.             Console.WriteLine("Prime numbers: {0}", string.Join(", ", primeNumbers));
  27.  
  28.             int sum = CalculateSum(primeNumbers);
  29.             Console.WriteLine("Sum is: {0}", sum);
  30.             Console.ReadLine();
  31.         }
  32.  
  33.         static bool IsPrime(int number)
  34.         {
  35.             if (number < 2)
  36.             {
  37.                 return false;
  38.             }
  39.  
  40.             for (int i = 2; i < number; i++)
  41.             {
  42.                 if (number % i == 0)
  43.                 {
  44.                     return false;
  45.                 }
  46.             }
  47.  
  48.             return true;
  49.         }
  50.  
  51.         static int CalculateSum(List<int> numbers)
  52.         {
  53.             int sum = 0;
  54.  
  55.             foreach (int number in numbers)
  56.             {
  57.                 sum += number;
  58.             }
  59.  
  60.             return sum;
  61.         }
  62.     }
  63. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы