Найти сумму простых чисел, которые не превышают заданное число N - C#
Формулировка задачи:
Доброе время,есть такая вот задачка.
Написать функцию, которая получает на вход положительное целое число n и возвращает сумму всех простых чисел, не превышающих n.
Пример. Вход n=18. Простые числа, не превышающие 18 — это 2, 3, 5, 7, 11, 13 и 17, поэтому функция должна вернуть их сумму, равную 58.
Вот мое решение, но тут то 2 не попадает,как это исправить?
Листинг программы
- class Program
- {
- static void Main(string[] args)
- {
- int n = 0;
- int b = 0;
- n = int.Parse(Console.ReadLine());
- if (n > 0)
- {
- for (int i = 2; i < n; i++)
- {
- Console.WriteLine("i={0}", i);
- if (i % 2 != 0)
- {
- b += i;
- Console.WriteLine("Простое число {0}", i);
- }
- }
- Console.WriteLine("Cумма простих чисел равна {0}", b);
- }
- else Console.WriteLine("Не верные данные");
- System.Console.ReadLine();
- }
- }
Решение задачи: «Найти сумму простых чисел, которые не превышают заданное число N»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace primeNumbers
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.Write("Enter any integer number: ");
- int number = int.Parse(Console.ReadLine());
- List<int> primeNumbers = new List<int>();
- for (int i = 2; i < number; i++)
- {
- if (IsPrime(i))
- {
- primeNumbers.Add(i);
- }
- }
- Console.WriteLine("Prime numbers: {0}", string.Join(", ", primeNumbers));
- int sum = CalculateSum(primeNumbers);
- Console.WriteLine("Sum is: {0}", sum);
- Console.ReadLine();
- }
- static bool IsPrime(int number)
- {
- if (number < 2)
- {
- return false;
- }
- for (int i = 2; i < number; i++)
- {
- if (number % i == 0)
- {
- return false;
- }
- }
- return true;
- }
- static int CalculateSum(List<int> numbers)
- {
- int sum = 0;
- foreach (int number in numbers)
- {
- sum += number;
- }
- return sum;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д