Нужна )) если не сложно с коментариями описать функцию transform(n), которая "припишет" к числу n по единичке в начале и в конце. обратиться к функции со значениями 23, 234, 2345.
// PascalABC.NET 3.2, сборка 1463 от 01.06.2017 // Внимание! Если программа не работает, обновите версию!
function Transform(n:integer):=('1'+n+'1').ToInteger;
begin Println(Transform(23),Transform(234),Transform(2345)); end.
Результат 1231 12341 123451
milkline-nn
30.06.2022
Function Transform(n:longint):longint; Var k,B:longint; Begin B:=n; k:=1; While B <> 0 do Begin k:=k*10; WriteLn('k = ',k); B:=B div 10; End; if n >= 0 then Begin WriteLn('n:= k + n = ',k,' + ',n,' = ',n+k); WriteLn('n:= 10*n + 1 = ',10*(k+n),' + ',1,' = ',(k+n)*10+1); Transform:=(k+n)*10+1 End; End; Var A:longint; Begin Write('Введите целое число: ');ReadLn(A); WriteLn(Transform(A)) End.
navi35374
30.06.2022
Сначала найдем получить из 21 30, групируя комманды от большей к меньшей 21 + 2*4 + 0*2 + 1*1 = 30 - перестановок команд = (2+0+1)!/2!/0!/1! = 3 21 + 1*4 + 2*2 + 1*1 = 30 - перестановок команд = (1+2+1)!/1!/2!/1! = 12 21 + 1*4 + 1*2 + 3*1 = 30 - перестановок команд = (1+1+3)!/1!/1!/3! = 20 21 + 1*4 + 0*2 + 5*1 = 30 - перестановок команд = (1+0+5)!/1!/0!/5! = 6 21 + 0*4 + 4*2 + 1*1 = 30 - перестановок команд = (0+4+1)!/0!/4!/1! = 5 21 + 0*4 + 3*2 + 3*1 = 30 - перестановок команд = (0+3+3)!/0!/3!/3! = 20 21 + 0*4 + 2*2 + 5*1 = 30 - перестановок команд = (0+2+5)!/0!/2!/5! = 21 21 + 0*4 + 1*2 + 7*1 = 30 - перестановок команд = (0+1+7)!/0!/1!/7! = 8 21 + 0*4 + 0*2 + 9*1 = 30 - перестановок команд = (0+0+9)!/0!/0!/9! = 1 Всего 3+12+20+6+5+20+21+8+1 = 96
TatyanaVladimirovich
30.06.2022
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println; var se:=a.Where((x,i)->i.IsOdd).Sum; var pn:=a.Where(x->x<0).Aggregate(BigInteger(1),(p,q)->p*q); var ko:=a.Where(x->x.IsOdd).Count; Writeln('Сумма элементов с четными номерами: ',se); Writeln('Произведение отрицательных элементов: ',pn); Writeln('Количество нечетных элементов: ',ko) end.
Пример n= 17 7 -60 -7 -96 -14 97 7 -68 -89 -87 -50 49 77 -52 -36 -15 99 Сумма элементов с четными номерами: -232 Произведение отрицательных элементов: -417286023598080000 Количество нечетных элементов: 10
begin var a:=ReadArrInteger('Вводите:',ReadInteger('n=')); a.Println; a.Transform(x->x<0?abs(x):x>0?x*x:x); a.Println end.
Нужна )) если не сложно с коментариями описать функцию transform(n), которая "припишет" к числу n по единичке в начале и в конце. обратиться к функции со значениями 23, 234, 2345.
// Внимание! Если программа не работает, обновите версию!
function Transform(n:integer):=('1'+n+'1').ToInteger;
begin
Println(Transform(23),Transform(234),Transform(2345));
end.
Результат
1231 12341 123451