В библиотеке находится N книг. Дано количество страниц в каждой книге. Учёный Николай Николаевич пришёл в библиотеку почитать. Если книга очень толстая (больше 1000 страниц), то Николай Николаевич делит количество страниц пополам нацело и прочитывает только первую половину книги. Если книга обычная ( страниц меньше или равно 1000), то Николай Николаевич прочитывает всю книгу кроме последних 10 страниц. Самую маленькую книгу из всех Николай Николаевич читать не стал вовсе. Если книг минимальной толщины несколько, то они все не будут прочитаны. Вопрос: сколько страниц прочитает Николай Николаевич в библиотеке? Формат входных данных С клавиатуры вводится 1 ≤ N ≤ 10000. Далее N целых чисел от 10 до 10000, каждое с новой строки. Формат выходных данных .Одно число - ответ.
Объяснение:
1) import random
len_l = int(input())
if len_l > 50:
print('Число больше 50')
else:
A = [(random.randint(0,200)-100) for i in range(len_l)]
print (A)
max=[A[0],0]
min=[A[0],0]
x=0
for x in range(len(A)):
if max[0] < A[x]:
max[0]=A[x]
max[1]=x
if min[0] > A[x]:
min[0]=A[x]
min[1]=x
print(max)
print(min)
2) Зачем писать алгоритм, если в питоне есть встроенная функция:
import random
len_l = int(input())
if len_l > 50:
print('Число больше 50')
else:
A = [(random.randint(0,200)-100) for i in range(len_l)]
print (A)
A.sort(reverse=True)
print (A)
3) Насчет 3 задания не понял как нужно расположить элементы во втором массиве. Я написал что массив такой же длины, в четных элементах массива находится сумма , как написано в задании. Если не правильно понял, скажите как надо
import random
len_l = int(input())
if len_l > 50:
print('Число больше 50')
else:
A = [(random.randint(0,200)-100) for i in range(len_l)]
B = [0 for i in range(len_l)]
print (A)
x=0
print (B)
for x in range(0,len(A),2):
B[x]=A[x]+A[x+1]
print (B)
Типовая задача на разбор случаев. Разбирать случаи будем не простым последовательным перечислением, а более сложной конструкцией из вложенных условных операторов.
Решение задачи.
Var a1, b1, c1, {коэффициенты уравнения первой прямой}
a2,b2,c2, {коэффициенты уравнения второй прямой}
x, y : Real; {координаты точки пересечения }
BEGIN
ReadLn( a1, b1, c1);
ReadLn( a2, b2, c2);
If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) )
then WriteLn( 'это не прямая (прямые). ' )
else
if (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}
then WriteLn( 'прямые совпадают.' )
else
if a1*b2 = a2*b1 {условие параллельности}
then WriteLn('прямые параллельны.')
else begin x:=(c1*b2-c2*b1)/(b1*a2-b2*a1);
y:=(c2*a1-c1*a2)/(b1*a2-b2*a1);
WriteLn('координаты точки пересечения :',
' x = ', x : 5 : 2 , ', y = ', y : 5 : 2);
end;
END.