Сформировать множество по формуле и его подмножество - C#
Формулировка задачи:
Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого из этих множеств равна 10.
Сформировать новое множество Y=(Х1 Х2) (Х2\ Х3), из которого выделить подмножество нечетных чисел. На экран вывести исходные и полученное множества. Значения элементов исходных множеств ввести с клавиатуры.
y=(X1объединениеX2)(X2\X3)
Решение задачи: «Сформировать множество по формуле и его подмножество»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; namespace Ghost { class Program { static bool IsPrime(uint num) { if (num == 0 || num == 1) { return false; } for (uint i = 2; i <= num / 2; i++) { if (num % i == 0) { return false; } } return true; } static void Shuffle<T>(IList<T> collection) { Random rnd = new Random(); for (int i = 0; i < collection.Count / 2; i++) { int index = rnd.Next(0, collection.Count); if (index != i) { T buffer = collection[i]; collection[i] = collection[index]; collection[index] = buffer; } } } static void Main(string[] args) { List<uint> nums = Enumerable.Range(0, 100).Select(Convert.ToUInt32).ToList(); Shuffle(nums); ISet<uint> x1 = new HashSet<uint>(nums.Take(10)); Shuffle(nums); ISet<uint> x2 = new HashSet<uint>(nums.Take(10)); Shuffle(nums); ISet<uint> x3 = new HashSet<uint>(nums.Take(10)); HashSet<uint> result = new HashSet<uint>(x1); // (X1 U X2) result.UnionWith(x2); ISet<uint> temp = new HashSet<uint>(x2); // (X2 \ X3) temp.ExceptWith(x3); // (X1 U X2)(X2 \ X3) result.IntersectWith(temp); // Оставить только простые result.RemoveWhere(x => !IsPrime(x)); Console.WriteLine("X1:"); Console.WriteLine(string.Join(", ", x1)); Console.WriteLine("X2:"); Console.WriteLine(string.Join(", ", x2)); Console.WriteLine("X3:"); Console.WriteLine(string.Join(", ", x3)); Console.WriteLine(@"(X1 U X2)(X2 \ X3):"); Console.WriteLine(string.Join(", ", result)); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д