Ионов202
?>

Напишите программу, которая вводит с клавиатуры натуральное число n и определяет его факториал, т.е произведение натуральный чисел от 1 до n: n! =1*2*3**n.что будет, если ввести большое значение n.

Информатика

Ответы

dianabuchkina
Program fakt;
var
   n,i,z:integer;
begin
   readln(n);
   z:=1;
   for i:=2 to n do
      z:=z*i;
   writeln(z);
end.

Если программу написать так, то максимальный факториал, которой мы сможем вычислить - 12. Можно integer изменить на real, тогда чуть больше сможем вычислить. Так же можно вычислить через массив, тогда где-то 3000 мы сможем получить.

Если же ввести больше 12 в этой программе, то получится переполнение переменой, из-за чего число пойдёт "по кругу". Т.е. мы получим не 3 000 000 000, а -1 000 000 000, т.к. максимальное число у integer - примерно 2 000 000 000
modellisimo-a

--- Python 3.7 ---

def MatrixRead(Rows, RowLength, ContType):

   for row in range(Rows):

       print('Enter line ' + str(row))

       buff = []

       [buff.append(ContType(input())) for _ in range(RowLength)]

       yield buff

       

def MatrixSwap(Matrix, OldPos:tuple, NewPos: tuple):

   Matrix[OldPos[0]][OldPos[1]], Matrix[OldPos[1]][OldPos[0]] = Matrix[NewPos[1]][NewPos[0]], Matrix[NewPos[0]][NewPos[1]]

   return Matrix

   

def MatrixPrint(Matrix, end = '\n'):

   for Row in Matrix:

       print(*Row, end ='\n')

   print(end)

   

   

def main():

   N = int(input()) #Matrix Size

   Matr =list( MatrixRead(N, N, int))

   MatrixPrint(Matr) #For check

   for row in range(N):

       for col in range(N):

           SecDiagPos = (row, N-col-1)

           MainDiagPos = (row, col)

           Matr = MatrixSwap(Matr, MainDiagPos, SecDiagPos)

   MatrixPrint(Matr)

   

if __name__ == '__main__':

   main()

Объяснение:

skononova01

--- Python 3.8.3 ---

def MatrixPrint(Matr):

   matrixstring = ''

   rows = len(Matr)

   cols = len(Matr[0])

   for row in range(rows):

       for col in range(cols):

           matrixstring += str(Matr[row][col]) + ' '

       matrixstring += '\n'

   print(matrixstring)

def main():

   n = int(input())

   Matr = [[int(i) for i in input().split(maxsplit=n)] for i in range(n)]

   for i in range(n):

           Matr[i][i], Matr[i][n-i-1] = Matr[i][n-i-1], Matr[i][i]

   MatrixPrint(Matr)

   

if __name__ == "__main__":

   main()

Объяснение:

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая вводит с клавиатуры натуральное число n и определяет его факториал, т.е произведение натуральный чисел от 1 до n: n! =1*2*3**n.что будет, если ввести большое значение n.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Ионов202
Vladimirovna1370
natalia-shelkovich
ksoboleva
Pervosha
snopovajulia
andreanikin
Александровна
seleznev1980
gabramova
mariashapar
serge-lysoff
Vos-sv
Rafigovich1267
inessa12006