Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).
Язык не указан, предоставляю решение на C#:
class sample
{
public static void WrongData()
{
Console.WriteLine("Введите корректные значения.");
Console.ReadLine();
return;
}
}
class Program
{
static void Main(string[] args)
{ string StringCount;
Console.WriteLine("Введите кол-во элементов массива ( от 2 до 100 ) .");
StringCount = Console.ReadLine();
if (!(int.TryParse(StringCount, out int Count)
&& Count >= 2 && Count <= 100)) sample.WrongData();
int[] Array = new int[Count];
// заполнение массива рандомными числами:
var Randomizer = new Random();
int RandomNumber;
for(int i = 0; i < Count; i++)
{
RandomNumber = Randomizer.Next(-1000, 1000);
Array[i] = RandomNumber;
}
var ListForNumbers = Array.ToList();
var ListForPublic = new List<int>();
for(int z = 0; z < ListForNumbers.Count; z++)
{
for(int s = ( z + 1 ); s < ListForNumbers.Count; s++)
{
if (ListForNumbers[z] == ListForNumbers[s])
{
ListForNumbers.Remove(ListForNumbers[z]);
ListForPublic.Add(ListForNumbers[z]);
}
}
}
Console.Write("Все элементы в списке: ");
foreach(int FirstChecker in Array)
{
Console.Write($"{FirstChecker} ");
}
if (ListForPublic.Count == 0)
{
Console.WriteLine("\nПовторяющихся элементов в списке - нет .");
Console.ReadLine();
return;
}
Console.Write("\nУникальные элементы в списке: ");
foreach(int SecondChecker in ListForNumbers)
{
Console.Write($"{SecondChecker} ");
}
Console.Write("\nОдинаковые элементы в списке: ");
foreach(int ThirdChecker in ListForPublic)
{
Console.Write($"{ThirdChecker} ");
}
Console.ReadLine();
}
}
Всё с проверками и с максимальным удобством, поэтому и объемный код .