Сформировать множества простых и составных чисел - C#
Формулировка задачи:
Имеется множество, содержащее натуральные числа из некоторого диапазона. Сформировать два множества, первое из которых содержит все простые числа из данного множества, а второе - все составные.
Код я написал, но программа не работает
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Proj_1 { class Program { static bool Prost(int d) { if (d == 1) { return false; } else { for (int i = 2; i <= Math.Round(Math.Sqrt(d)); i++) { if (d %i == 0) { return false; } } return true; } } static void Main(string[] args) { List<int> a = new List<int>(); int x, y, g = 0; Console.Write("X = "); x = int.Parse(Console.ReadLine()); Console.Write("Y = "); y = int.Parse(Console.ReadLine()); for (int i = x; i <= y; i++) { a.Add(i); } List<int> b = new List<int>(); List<int> c = new List<int>(); for (int i = 0; i < a.Count - 1; i++) { if (Prost(a[i])) { b.Add(a[i]); } } for (int i = 0; i < a.Count; i++) { c.Add(a[i] - b[g]); g++; } Console.WriteLine("\nМножество простых чисел: "); foreach (var item in b) { Console.Write(item + " "); } Console.WriteLine("\nМножество составных чисел: "); foreach (var item in c) { Console.Write(item + " "); } Console.ReadKey(); } } }
Решение задачи: «Сформировать множества простых и составных чисел»
textual
Листинг программы
for (int i = 0; i < a.Count - 1; i++) { if (Prost(a[i])) { b.Add(a[i]); } else if (a[i] != 1) { c.Add(a[i]); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д