Вывод простых чисел из рандомного массива - C#
Формулировка задачи:
Добрый день.
Существует вот такой вот код:
Помогите вывести все числа массива, которые относятся к простым. Сам код не прошу, но не отказался бы.
Так же просьба, у кого есть время, посмотреть и помочь оптимизировать (уменьшить кол-во кода, подсказать, как было бы все это сделать проще и т.д.)
Так же возникла проблема при установке предела рандома. Была идея запихнуть ввод числа через консоль и выводить lMass[i] = random.Next(UstChislo); , где UstChislo введено в консоли.
Спасибо.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Задание_1
{
class Program
{
static void Main(string[] args)
{
String Chet = "";
String Nechet = "";
String NulCH = "";
Console.Write("Введите размер массива: ");
int[] lMass = new int[int.Parse(Console.ReadLine())];
//заполнение массива случайными числами
var random = new Random();
for (int i = 0; i < lMass.Length; i++)
{
lMass[i] = random.Next(999);
}
Console.WriteLine("Исходный массив:");
for (int i = 0; i < lMass.Length; i++) Console.Write(lMass[i] + " ");
//вывод четных и нечетных чисел
Console.WriteLine("\n");
foreach (int x in lMass)
{
if (x == 0)
NulCH = Convert.ToString(x);
else if (x % 2 == 0)
Chet = Chet + Convert.ToString(x) + ", ";
else if (x % 2 != 0)
Nechet = Nechet + Convert.ToString(x) + ", ";
}
Console.WriteLine("Четные числа массива: " + Chet+"\n Нечетные числа массива: " + Nechet);
if (NulCH!="")
Console.WriteLine("В массиве присутствует число, не относящее к четным или нечетным: " + NulCH);
for (int i = 0; i < lMass.Length; i++)
{
if (lMass[i] == lMass.Min())
{
Console.WriteLine("\nМинимальное значение массива: "+i+"-й, равен " + lMass.Min());
break;
}
}
for (int i = 0; i < lMass.Length; i++)
{
if (lMass[i] == lMass.Max())
{
Console.WriteLine("Максимальное значение массива: " + i + "-й, равен " + lMass.Max());
break;
}
}
//Поиск чисел, кратных заданному
Console.Write("Поиск чисел, кратное: ");
int Kratn = int.Parse(Console.ReadLine());
int poisk = 0;
foreach (int x in lMass)
{
if (x % Kratn == 0) Console.Write(x + ",");
poisk++;
}
if (poisk == 0)
Console.Write("Отсутствуют числа, кратные " + Kratn);
Console.ReadKey();
}
}
}Решение задачи: «Вывод простых чисел из рандомного массива»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
string[] G = new string[] {"А", "а", "Е", "є", "Є","є", "И", "и", "І", "і", "Ї", "ї","О", "о", "У" ,"у", "Ю", "ю", "Я" ,"я"};//10
string[] P = new string[] {"Б", "б", "В", "в", "Г", "г", "Ґ", "ґ", "Д", "д", "Ж", "ж", "3", "з","Й", "й", "К", "к", "Л", "л", "М", "м", "Н", "н", "П", "п", "Р", "р", "С", "с", "Т", "т", "Ф", "ф", "X", "х", "Ц", "ц", "Ч", "ч", "Ш", "ш", "Щ", "щ"};//22
Random rnd = new Random();
string str = "";
string[] mas = new string[4];
mas[0] = G[rnd.Next(0, 9)];
mas[1] = P[rnd.Next(0, 21)];
mas[2] = P[rnd.Next(0, 21)];
mas[3] = rnd.Next(0,9).ToString();
bool flag = false;
while(flag == false)
{
if(str.Length != 4)
{
string res = mas[rnd.Next(mas.GetLength(0))];
if (str.Contains(res))
{
}
else
{
str += res;
}
}
else
{
flag = true;
}
}
textBox1.Text = str;
}