True + True = 2 (Сложные условия в 17 задании)

Рейтинг: 5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Логический тип bool представлен двумя постоянными значениями False и True. Значения используются для представления истинности.

В питоне логический тип bool является подтипом целого integer. При использовании арифметических операций происходит неявное преобразование  логического значения True в целое число 1,  а False в 0.

То есть значение выражения,  True + True + True + True + True = 5.

Эта особенность позволяет более компактно программировать сложные логические условия.

Например, условие, что только два элемента из тройки p[i], p[i+1], p[i+2] являются трехзначными можно записать так:

100<=P[i]<=999 and 100<=P[i+1]<=999 and not (100<=P[i+ 2]<=999) or 100<=P[i]<=999 and 100<=P[i+2]<=999 and not (100<=P[i+ 1]<=999) or 100<=P[i+1]<=999 and 100<=P[i+2]<=999 and not (100<=P[i]<=999),

а лучше так: (100<=P[i]<=999)  + (100<=P[i+1]<=999) + (100<=P[i]<=999 ) = 2

ВАРИАНТ 1

В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество троек элементов последовательности, в которых только одно из чисел является двузначным, а сумма элементов тройки меньше минимального элемента последовательности, оканчивающегося на 25. В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек. 

В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

Решение и ответ
f = open('17var01.txt')
p = [int(i) for i in f]
f.close()
m = float('inf')
count = 0
m3 = 0
for i in p:
    if i % 100 == 25:
        m = min (m, i)
for i in range(len(p) - 2):
    s = p[i] + p[i+1] + p[i + 2]
    if (10<= p[i] < 100) + (10 <= p[i+1] < 100) + (10 <= p[i+2] < 100) == 1 and s < m:
        count += 1
        m3 = max(m3, s )

print(count, m3)

Ответ: 247    41

ВАРИАНТ 2

В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество троек элементов последовательности, в которых ровно два из элементов является трехзначными, а сумма элементов тройки не больше максимального элемента последовательности, оканчивающегося на 100. В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек.

В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

Решение и ответ

аналогично 1 варианту

 

 

Ответ: 29     7069 

ВАРИАНТ 3

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -100 000 до 100 000 включительно. Определите количество троек элементов последовательности, в которых хотя бы одно из чисел является четырехзначным, а сумма элементов тройки больше максимального элемента последовательности, оканчивающегося на 90. В ответе запишите количество найденных троек чисел, затем минимальную из сумм элементов таких троек.

В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

Решение и ответ
f = open('17var03.txt')
p = [int(i) for i in f]
f.close()

m = -100000
m3 = 300000
count = 0

for i in p:
    if abs(i) % 100 == 90:
        m = max (m, i)

for i in range(len(p) - 2):
    s = p[i] + p[i+1] + p[i + 2]
    if ((999 < abs(p[i]) <= 9999) + (999 < abs(p[i+1]) <= 9999)  + (999 < abs(p[i+2]) <= 9999) > 0 )  and s > m:

        count += 1
        m3 = min(m3, s  )

print(count, m3)

Ответ: 980     17924 

ВАРИАНТ 4

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -100 000 до 100 000 включительно. Определите количество троек элементов последовательности, в которых не более двух чисел является пятизначными, а сумма элементов тройки не менее минимального элемента последовательности, оканчивающегося на 700. В ответе запишите количество найденных троек чисел, затем минимальную из сумм элементов таких троек.

В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

Решение и ответ
f = open('17var04.txt')
p = [int(i) for i in f]
f.close()

m = 100000
m3 = 300000
count = 0

for i in p:
    if abs(i) % 1000 == 700:
        m = min (m, i)

for i in range(len(p) - 2):
    s = p[i] + p[i+1] + p[i + 2]
    if ((9999 < abs(p[i]) <= 99999) + (9999 < abs(p[i+1]) <= 99999)  + (9999 < abs(p[i+2]) <= 99999) < 3 )  and s > m:

        count += 1
        m3 = min(m3, s  )

print(count, m3)

Ответ: 330     452 

ВАРИАНТ 5

В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых сумма чисел пары равна максимальному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм квадратов элементов таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 

Решение и ответ
f= open('17var05.txt')
p=[int(i) for i in f]
f.close()
k = 0
PP = 0
M = max(p)

for i in range(1,len(p)):
    if p[i-1] + p[i] == M:
        k+=1
        PP = max(PP, p[i-1]**2 + p[i]**2)

print(k,PP) 

Ответ: 2 9997800125

ВАРИАНТ 6

В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых сумма чисел пары равна максимальному четному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм квадратов элементов таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 

Решение и ответ
f= open('17var06.txt')
p=[int(i) for i in f]
f.close()
k = 0
PP = 0
M = 0

for i in p:
    if i % 2 == 0 and i > M:
        M = i

for i in range(1,len(p)):
    if p[i-1] + p[i] == M:
        k+=1
        PP = max(PP, p[i-1]**2 + p[i]**2)

print(k,PP)

Ответ4 9994000936

ВАРИАНТ 7

В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество троек последовательности, в которых только одно число оканчивается на 0, а сумма чисел тройки меньше максимального элемента последовательности. В ответе запишите количество найденных троек, затем максимальную из сумм элементов таких троек.

В данной задаче под тройкой подразумевается три идущие подряд элемента последовательности. 

Решение и ответ
f= open('17var07.txt')
p=[int(i) for i in f]
f.close()
k = 0
PP = 0
M = max(p)

for i in range(2,len(p)):
    if  (p[i-2] + p[i-1] + p[i] < M) and ((p[i-2]%10 == 0) + ( p[i-1]%10 == 0) + (p[i]%10 == 0) == 1) :
        k+=1
        PP = max(PP, p[i-2] + p[i-1] + p[i])

print(k,PP) 

Ответ: 203 99820

ВАРИАНТ 8

В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество троек последовательности, в которых ни одно число не оканчивается на 3, а сумма квадратов чисел тройки больше максимального элемента последовательности. В ответе запишите количество найденных троек, затем минимальную из сумм квадратов элементов таких троек.

В данной задаче под парой подразумевается три идущие подряд элемента последовательности.

Решение и ответ
f= open('17var08.txt')
p=[int(i) for i in f]
f.close()
k = 0P
P = float('inf')
M = max(p)

for i in range(2,len(p)):
    if  p[i-2]**2 + p[i-1]**2 + p[i]**2 > M and p[i-2]%10 != 3 and p[i-1]%10 != 3 and p[i]%10 != 3  :
        k+=1
        PP = min (PP, p[i-2]**2 + p[i-1]**2 + p[i]**2)

print(k,PP)

#можно использовать такое логическое условие (ни одно число не оканчивается на 3)
#(p[i-2]%10 == 3) + ( p[i-1]%10 == 3) + ( p[i]%10 == 3) == 0

Ответ: 2936 75058186

ВАРИАНТ 9

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число является полным квадратом некоторого натурального числа, затем максимальную из сумм элементов таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности 6, 2, 9, -3, 1  ответом будет  3  11.

Решение и ответ
f=open("17var09.txt")
p= [int(i) for i in f]
f.close()

k=0
PP = -20000
for i in range(len(p)-1):
   if p[i]>0 and p[i]**0.5==int(p[i]**0.5) or p[i+1]>0 and [i+1]**0.5==int(p[i+1]**0.5):
        k+=1
        PP = max(p[i]+p[i+1], PP)
print(k, PP)

Ответ60  18555 

ВАРИАНТ 10

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число является полным квадратом некоторого натурального числа, затем минимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности 6, 2, 9, -3, 1 ответом будет  3    -2.

Решение и ответ
f=open("17var10.txt")
p= [int(i) for i in f]
f.close()
k = 0
PP = 20000
for i in range(len(p)-1):
   if p[i]>0 and p[i]**0.5 == int(p[i]**0.5) or p[i+1]>0 and p[i+1]**0.5 == int(p[i+1]**0.5):
        k+= 1
        PP = min(p[i] + p[i+1], PP)
print(k, PP)

Ответ: 41    -9786

ВАРИАНТ 11

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа делятся на 3, затем максимальную из сумм элементов таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности 6, 3, 9, -3, 1, 4  ответом будет  3    12.

Решение и ответ
f=open("17var11.txt")
p= [int(i) for i in f]
f.close()
k = 0
PP = -20000
for i in range(len(p)-1):
    if p[i]%3 == 0 and p[i+1]%3 == 0:
        k += 1
        PP = max(p[i] + p[i+1], PP)
print(k, PP)

Ответ: 562     18033 

ВАРИАНТ 12

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа делятся на 5, затем минимальную из сумм элементов таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности из пяти элементов: 5, 25, 125, -5, 1, 4  ответом будет  3  30.

Решение и ответ

аналогично 11 варианту, только используем функцию min

 

 

Ответ: 225     -17790 

ВАРИАНТ 13

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа оканчиваются на 5, затем максимальный из модулей разности элементов таких пар. 

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности из пяти элементов: 25, 15, 35, -5, 1  ответом будет  3    40.

Решение и ответ

f=open("17var13.txt")
p= [int(i) for i in f]
f.close()       
k = 0
PP = -20000
for i in range(len(p)-1):
    if p[i]%10 == 5 and p[i+1]%10 == 5:
        k += 1
        PP = max(abs(p[i]-p[i+1]), PP)
print(k, PP)

Ответ: 33    16600

ВАРИАНТ 14

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа оканчиваются на цифру 7, затем минимальный из модулей разности элементов таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности из пяти элементов: 7, 27, 97, -7, 1 ответом будет  3  20.

Решение и ответ
  

Аналогично 13 варианту, только используем функцию min.

Ответ: 47   80

ВАРИАНТ 15

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа оканчиваются на одну и ту же нечетную цифру, затем максимальное из произведений модулей элементов таких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 

Например, для последовательности из пяти элементов: 1, 21, -11, -3, 1 ответом будет  2    231. 

Решение и ответ
 f =open("17var15.txt")
p = [int(i) for i in f]
f.close()    
k = 0
PP = 0
for i in range(len(p)-1):
    if abs(p[i])%10 == abs(p[i+1])%10 and abs(p[i])%2 == 1:
        k += 1
        PP = max(abs(p[i]) * abs(p[i+1]), PP)                    

 

print(k, PP)

Ответ: 227    96784219

ВАРИАНТ 16

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа оканчиваются на нечетные цифры, различные для элементов  в паре, затем минимальное из произведений модулей элементовтаких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности из пяти элементов: 6, 19, 9, -3, 1 ответом будет  2    3. 

Решение и ответ
f =open("17var16.txt")
p = [int(i) for i in f]
f.close()  
k = 0
PP = float('inf')

for i in range(1,len(p)):
    if abs(p[i-1])%10 != abs(p[i])%10 and abs(p[i-1])%2 == 1 and abs(p[i])%2 == 1:
        k += 1
        PP = min(abs(p[i]) * abs(p[i+1]), PP)                    

print(k, PP)

Ответ: 864 4683 

ВАРИАНТ 17

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых сумма элементов не менее 100 и хотя бы одно число в паре отрицательное, затем максимальное из произведений модулей элементовтаких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности из пяти элементов: 600; 2; 109; -1; 107 ответом будут числа  2   -107

Решение и ответ
f =open("17var17.txt")
p = [int(i) for i in f]
f.close()    
k = 0
PP = -float('inf') #бесконечно малое число

for i in range(1,len(p)):
    if p[i-1] + p[i] >=100 and (p[i-1] < 0 or p[i]<0):
        k += 1
        PP = max(p[i-1] * p[i], PP)                    

print(k, PP)

Ответ: 1137 -2655

ВАРИАНТ 18

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых сумма элементов не менее 50 и оба числа в паре неотрицательные, затем минимальное из произведений элементовтаких пар.

В данной задаче под парой подразумевается два идущих подряд элемента последовательности. 
Например, для последовательности из пяти элементов: 60; 2; 90; -30; 100 ответом будут числа  2   120

Решение и ответ

Аналогично варианту 17.

Ответ: 1042 6736

ВАРИАНТ 19

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы один элемент пары превосходит 700, затем максимальную из сумм квадратов элементов таких парВ данной задаче под парой подразумевается два идущих подряд элемента последовательности. 

Например, для последовательности из пяти элементов: 60; 2; 90; -30; 100 ответом будут числа  2   120.

Решение и ответ
f =open("17var18.txt")
p = [int(i) for i in f]
f.close()    

k = 0
PP = -float('inf')

for i in range(1,len(p)):
    if p[i-1] > 700 or  p[i] > 700:
        k += 1
        PP = max(p[i-1] **2 + p[i]**2, PP)                    

print(k, PP)

Ответ: 3902 197073925

ВАРИАНТ 20

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы один элемент пары превосходит 300, затем минимальную из сумм квадратов элементов таких парВ данной задаче под парой подразумевается два идущих подряд элемента последовательности. 

Например, для последовательности из пяти элементов: 400; 2; 9; -3; 500 ответом будут числа  2   160004.

 

 

Решение и ответ
 

Аналогично варианту 19.

Ответ: 4024 176285

РСЯ футер

© 2017 Компьютерный клуб "КОД". Все права защищены.