Какие команды есть в алгоритме, по которому заполнен данный числовой ряд? 1. умножаем число на 2 да нет 2. отнять 1 да нет 3. умножаем число на 3 да нет 4. прибавить 1 да нет 5. разделить на 2 да нет 6. записать полученное число да нет
Код Pascal1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 const n=100; type arr=array[1..n] of integer; var a:arr; skv:real; i,k,l:integer; procedure print(s:string;a:arr;l:integer); var i:integer; begin writeln(s); write('['); for i:=1 to l-1 do write(a[i],', '); writeln(a[l],']'); end; procedure sort(var a:arr;l:integer); var i,j,t:integer; begin for i:=1 to l-1 do for j:=i to l do if a[j]<a[i] then begin t:=a[j]; a[j]:=a[i]; a[i]:=t; end; end; begin repeat write('Количество элементов массива:'); readln(k); until (k>0) and (k<101); write('Введите массив:'); for i:=1 to k do repeat write('a[',i,']='); readln(a[i]); until (a[i]>-11) and (a[i]<11); print('Оригинальный массив:',a,k); l:=0;skv:=0.0; for i:=1 to k do if a[i]<0 then begin a[i]:=sqr(a[i]); skv:=skv+a[i]; l:=l+1; end else a[i]:=i; print('Полученный массив:',a,k); sort(a,k); print('отсортированный массив:',a,k); writeln('Среднее арифметическое квадратов отрицательных чисел:',skv/l:0:4); readln; end.
# Код на ruby 2.2.3p173 def zadanie(numbers) p "***" s = 0 numbers.each{|n| s += n} p [s, numbers] numbers = numbers.sort
while s % 3 != 0 do numbers.each{|n| if (s-n) % 3 == 0 s -= n numbers.delete(n) p n break end } if s % 3 != 0 n = numbers.min s -= n numbers.delete(n) p n end p numbers end
return numbers.reverse end
# # Примеры применения p zadanie([7, 2, 3, 1, 5, 9, 4, 7])
def zadanie(numbers)
p "***"
s = 0
numbers.each{|n| s += n}
p [s, numbers]
numbers = numbers.sort
while s % 3 != 0 do
numbers.each{|n|
if (s-n) % 3 == 0
s -= n
numbers.delete(n)
p n
break
end
}
if s % 3 != 0
n = numbers.min
s -= n
numbers.delete(n)
p n
end
p numbers
end
return numbers.reverse
end
# # Примеры применения
p zadanie([7, 2, 3, 1, 5, 9, 4, 7])
Вывод
[38, [7, 2, 3, 1, 5, 9, 4, 7]]
2
[1, 3, 4, 5, 7, 7, 9]
[9, 7, 7, 5, 4, 3, 1]
ответ 9775431