У исполнителя Квадратор две команды, которым присвоены номера: 1. прибавь 1
2. возведи в квадрат
Первая из них увеличивает число на экране на 1, вторая возводит его во вторую степень.
Составьте алгоритм получения из числа 3 числа 84, содержащий не более 5 команд. В ответе запишите только номера команд.
Внимание! Если программа не работает, обновите версию!
№1
begin
var (a,b):=ReadInteger2('Введите a,b:');
if a.IsEven then a-=1;
Range(a,b,-2).Println
end.
Пример
Введите a,b: 18 4
17 15 13 11 9 7 5
№2
begin
var (a,b):=ReadInteger2('Введите a,b:');
Range(b,a).Aggregate(BigInteger(1),(i,j)->i*j).Println
end.
Пример
Введите a,b: 50 7
42241796113490802838350844675089956728302279956889600000000000
№3
begin
var n:=ReadInteger('n=');
for var i:=1 to n do
(1.To(i)).Println('')
end.
Пример
n= 7
1
12
123
1234
12345
123456
1234567
Dim found As Integer
found = n Mod 2 = 0
Dim p As Integer
p = 3
Do While Not found And p * p <= n
found = n Mod p = 0
p = p + 2
Loop
IsPrime = Not found
End Function
Sub main()
Randomize Timer
Dim n As Integer, i As Integer, k As Integer
n = 100 + Int(Round(899 * Rnd))
ReDim a(1 To n) As Integer
ReDim b(1 To n) As Integer
i = 0: k = 0
MsgBox n
Do While i < n
i = i + 1
a(i) = 1000 + Int(Round(8999 * Rnd))
If IsPrime(a(i)) Then
k = k + 1
b(k) = a(i)
End If
Loop
Rows("1:1000").Clear
Range(Cells(1, 1), Cells(n, 1)) = a
For i = 1 To k
Cells(i, 1) = a(i)
Cells(i, 2) = b(i)
Next i
If k > 1 Then 'Сортировка второй колонки, так красивее
Dim r As Range
Set r = Range(Cells(1, 2), Cells(k, 2))
r.Sort Range("B1")
End If
For i = k + 1 To n
Cells(i, 1) = a(i)
Next i
End Sub