Сформировать множества простых и составных чисел - 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]);
    }
}

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


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

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

10   голосов , оценка 4.1 из 5
Похожие ответы