Прости числа
Да се напише програма, която изчита редица от цели числа на един ред от клавиатурата и ги записва в масив. Програмата да изведе броя на числата, които са прости. Ако няма такива да се изведе “No”.
Примерен вход: |
4 5 43 12 15 7 |
25 81 56 231 |
Изход |
5 43 7 |
No |
Чудя се как да задам правилно условието за проверката.
Само че със масив как ще стане
С масив
using System;
using System.Linq;
namespace PrimeNumbers
{
class Program
{
static void Main(string[] args)
{
int[] numbers = Console.ReadLine().Split().Select(int.Parse)
.Where(x => Enumerable.Range(2, (int)Math.Sqrt(x) - 1)
.All(divisor => x % divisor != 0)).ToArray();
Console.WriteLine(numbers.Length == 0 ? "No" : string.Join(" ", numbers));
}
}
}
Ще обесниш ли как работи този код
Първият ред чете числа от конзолата, като проверява всяко едно число дали се дели единствено на себе си и едно и ако да, го записва в масив.
Вторият ред отпечатва на конзолата => ако дължината на масива е нула => "No"; ако дължината на масива не е нула => конкатенира на един ред всички стойности на масива, резделени със единичен спейс. В този ред е използван тернарен оператор (ако не си запознат с него можеш да потърсиш в инет информация , работи на принципа, който съм описал.
условие (a > b) , ако е вярно larger = a; ако не е larger = b;
Мерси
Ще обесниш ли тва в скобите All
И Where също