Python
Объяснение:
код:
import random
n = random.randint(10, 100)
t = []
p = []
for i in range(1, n):
if n % i == 0:
i = str(i)
t += i
i = int(i)
for k in range(2, i):
if i % k == 0:
i = str(i)
p += i
break
t = list(map(int, t))
p = list(map(int, p))
for x in p:
if x in t:
t.remove(x)
t.remove(1)
if len(t) == 0:
t.append(n)
print(*t)
else:
s = [str(x) for x in t]
print('simple', '(', n, ')', '=', *s)
--- PascalABC.NET 3.6.2 ---
function RandGen(N:integer; lb: integer; rb: integer):sequence of integer;
begin
for var i := 1 to N do begin
yield Random(lb, rb);
end;
end;
---Python 3.8.3---
import random
def RandGen(N:int, lb:int, rb: int):
for i in range(N):
yield random.randint(lb,rb)
--- C# 7.3 ---
public static IEnumerable<int> RandSeq(int N, int lb, int rb)
{
Random r = new Random();
for (int i = 0; i < N; i++)
{
yield return r.Next(lb, rb);
}
}
Для решения обеих задач подойдёт эта функция (на нужном вам языке). Все три функции возвращают перечисляемый объект. Ни одна из функций не возвращает готовый массив случайных чисел. Вывод на экран сгенерированных значений функции не поддерживают.
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу для паскаль! , , ! дано натуральное число. установить, является ли последовательность его цифр, при просмотре их слева направо, по убыванию.
// Внимание! Если программа не работает, обновите версию!
begin;
var s:=ReadInteger('n=').ToString;
If s.Length<>(s.Distinct.Count) then Writeln('не является')
else
if s=s.ToCharArray.SortedDescending.JoinIntoString('')
then Writeln('является') else Writeln('не является')
end.
Примеры
n= 9875431
является
n= 9753321
не является
n= 9763421
не является
Замечание: учтено, что упорядоченность должна быть по убыванию а не по невозрастанию. т.е. нельзя, чтобы попадались две одинаковые цифры.