Вывод простых чисел из рандомного массива - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д