Вы находитесь на странице: 1из 2

ФОРМУЛЫ

Задание №2 АЛГЕБРА ЛОГИКИ Задание №5


for x in 0,1: АЛГЕБРА ЛОГИКИ
for y in 0, 1: программа решения конкретного 5-го задания,
A B A ∨B A B A ∧B A → B = Ā ∨ B
for z in 0, 1: A Ā
реализован вариант с дублированием цифры и
добавлением остатка от деления суммы цифр на 2
0 0 0 0 0 0
A → B = A ∧ B̄
for w in 0, 1: 0 1 1 0 1 0
вместо 97 - пишите нужное вам значение

if (здесь должны быть A ∧ B = Ā ∨ B̄ 0 1 def task(N):


1 0 1 1 0 0 n_bin = bin(N)[2:]
фунцкия из задания): 1 1 1 1 1 1 A ∨ B = Ā ∧ B̄ 1 0 n_bin = n_bin + n_bin[-1]

print(x,y,z,w) A∨A = A n_bin += str(sum([int(i) for i in n_bin]) % 2)


return int(n_bin,2)
В ЗАДАЧАХ A B A →B A B A ≡ B
В ПРОГЕ: A =A
or ∨ 0 0 1 0 0 1 for i in range(1, 1000):
and ∧ 0 1 1 0 1 0 A ∨ (B ∧ C ) = (A ∨ B ) ∧ (A ∨ C ) if task(i) > 97:
print(task(i))
<= → 1 0 0 1 0 0
A ∧ (B ∨ C ) = (A ∧ B ) ∨ (A ∧ C ) break
= ≡ 1 1 1 1 1 1
not() ¯
Задание №6 перебор Задание №22 перебор Задание №7 ФОРМУЛЫ Задание №8
for i in range(1,1000): V(изобр)=N (количество пикселей) * i(глубина цвета=обьем пикселя)
n=0
for i in range(1,1000): x=i кол-во цветов в палитре = 2i(глубина цвета=обьем пикселя)
for a in 'ШКОЛА':
for b in 'ШКОЛА':
s=i x0 = x for c in 'ШКОЛА':
if (a+b+c).count('к') == 1:
V(размер файла)=N (кол-во волн) * F(частоту) * B(разрешения) * t(время)
n=0 N=0 n += 1
print(n)
while x > 0:
while s ≤ 375: кол-во уровней дискретизации = 2B(разрешение)
d=x%3
s=s+5 N = 10 * N + d
1 БАЙТ = 8 БИТ
ЛИБО
n=n+2 x = x // 3 1 Кбайт = 210 байт = 213 бит from itertools import product
p = product('ШКОЛА', repeat=3)
if n == 64: N += x0
1 Мбайт = 210 Кбайт = 220 байт = 223 бит n=0
print(i) if (N) ≥ (100000): for x in p:
print(i) Когда переводим в биты - умножаем
if x.count('К') == 1:
Если выходят числа очень близкие к концу Если выходят числа очень близкие к концу n += 1
Когда переводим из бит - делим
диапазона(1 или 1000, увеличьте диапазона(1 или 1000, увеличьте print(n)
диапазон) диапазон)

ЭКСЕЛЬ Задание №12 Задание №14 Задание №15 - ДЕЛ


ЕСЛИ(Условие; значение если верно; если неверно)
b = "1"*82 c=0
=ЕСЛИ(A1<A2;A1+1;0) while "11111" in b or "888" in b: s = 7*512**120 - 6*64**100 - 255 def Del(x, A):
ОСТАТ(число; делитель)
if "11111" in b: while s > 0 : return x % A == 0
=ОСТАТ(L8;2)
b = b.replace("11111","88",1) if s % 8 == 0: for A in range(1, 1000):
МАКС(число области1:число области2)
=МАКС(B2:D8)
elif "888" in b: c+=1 podoschelA = True
b = b.replace("888", "8", 1) s = s // 8 for x in range(1, 1000):
МИН(число области1:число области2)
print(b) if (ваша функция) == False:
=МИН(B2:D8) print(c) s % 8 - возвращает последнюю
СРЗНЧ(число области1:число области2) "888" in b - проверка на наличие в строке цифру числа в 8-ой сс podoschelA = False
=СРЗНАЧ(B2:D8) b = b.replace("888", "8", 1) - замена в строке s = s // 8 - удаляет последнюю break
СУММ(число области1:число области2) цифру числа в 8-ой сс if podoschelA == True:
b = "1"*82 - создание строки
=СУММ(B2:D8) * - повторяет строку столько раз, print(A)
Если нужна другая сс,
на сколько ее умножить просто везде поменяйте 8 на нужную

Задание №15 - КОНЬЮНКЦИЯ Задание №15 - ГРАФИКИ СПИСКИ СТРОКИ


a = [] - создание списка a = ‘’ - создание строки
for A in range(1, 1000): for A in range(1,1000):
a.append(n) - добавление элемента
podoschelA = True a+= ‘hi’ - добавление cтроки к
podoschelA = True n в список
for x in range(0, 1000): for x in range(1,1000): строке n в список
len(а) - длина списка
if (ваша функция) == False: for y in range(1,1000): len(а) - длина строки
max(a) - максимальный элемент
podoschelA = False if (ваша функция) == False: a.count(«n») - количество n в
min(a) - минимальный элемент
break podoschelA = False строки
sum(a) - сумма списка
if podoschelA == True: break
a.sort() - сортировка «hi» in a - проверка наличия
print(A) if podoschelA == False:
списка в порядке возрастания подстроки в строке
break
a.sort() - сортировка a = a.replace("88", "8", 1) - замена
if podoschelA == True:
списка в порядке убывания «A» < «B» - строки можно
print(A)
a.count(n) - количество n в списке сравнивать в алфавитно порядке

ЗАДАНИЕ №18 ЗАДАНИЕ №23 ЗАДАНИЕ №25 ЗАДАНИЕ №25


Случай, когда робот ходит вниз и вправо Здесь команды +2, *2 Нечетное число делителей - Пример задачи на 4 делителя
ПОИСК МАКС = def rec(start, end): у числа извлекается корень
a = []
ИЗНАЧАЛЬНОЕ ЗНАЧЕНИЕ + Пример задачи на 3 делителя
if start == end: for i in range(108765, 280723+1):
МАКС(ЗНАЧЕНИЕ ИЗ ТАБЛИЦЫ СУММ СПРАВА, return 1 a = [] b = []
ЗНАЧЕНИЕ ИЗ ТАБЛИЦЫ СУММ СНИЗУ) for i in range(108765, 280723+1): if i**(1/2) == int(i**(1/2)):
if start > end:
ПОИСК МИН = b = [] continue
return 0
ИЗНАЧАЛЬНОЕ ЗНАЧЕНИЕ + if i**(1/2) == int(i**(1/2)): for j in range(1, int(i**(1/2))+1):
return rec(start+2,end) + rec(start*2,end) b.append(int(i**(1/2)))
МИН(ЗНАЧЕНИЕ ИЗ ТАБЛИЦЫ СУММ СПРАВА, if (i % j == 0):
ЗНАЧЕНИЕ ИЗ ТАБЛИЦЫ СУММ СНИЗУ) print(rec(2,20)) else: b.append(j)
continue b.append(i//j)
Задача на ладью Здесь команды -2, -5 for j in range(1, int(i**(1/2))): if len(b) > 3:
if (i % j == 0): break
ПОИСК МАКС = def rec(start, end):
b.append(j) if len(b) == 3:
ИЗНАЧАЛЬНОЕ ЗНАЧЕНИЕ + if start == end:
b.append(i//j) a.append(b)
МАКС(ДИАПАЗОН ИЗ ТАБЛИЦЫ СУММ СПРАВА, return 1 if len(b) > 3: print(a)
ДИАПАЗОН ИЗ ТАБЛИЦЫ СУММ СНИЗУ)
if start < end: break
ПОИСК МИН = return 0 if len(b) == 3:
ИЗНАЧАЛЬНОЕ ЗНАЧЕНИЕ +
return rec(start-2,end) + rec(start-5,end) a.append(b)
МИН(ДИАПАЗОН ИЗ ТАБЛИЦЫ СУММ СПРАВА,
print(rec(23,2)) print(a)
ДИАПАЗОН ИЗ ТАБЛИЦЫ СУММ СНИЗУ)
Задание №25 Задание №25 Задание №25 Задание №25
Задача на поиск сумм наиб и наим делителей Функция поиска простых чисел Задача поиска простого наиб делителя Задача поиска суммы простых делителей
def isProst(x): count = 0
count = 0 n = 452022
prost = True count = 0
n = 452022 while count != 5:
for i in range(2, int(x**0.5)+1): n = 452022
while count != 5: S=0
if x % i == 0: while count != 5: for i in range(2, int(n**(1/2)+1)):
F=0
prost = False F=0 if i*i == n:
for i in range(2, int(n**(1/2)+1)):
return prost for i in range(2, int(n**(1/2)+1)): if isProst(i) == True:
if n // i == i:
if n % i == 0: S += i
continue В 25 номере идем до корня включительно - elif n % i == 0:
if n % i == 0: If isProst(n//i) == True:
Но проверяем отдельно корень, if isProst(i) == True:
F = n//i + i print(n, n//i)
нельзя его добавлять дважды. S += i
break count+=1 if isProst(n//i) == True:
if F % 7 == 3: break S += n//i
Если n - это число n+=1 if S % 7 == 2:
print(n, F) i - это делитель print(n, S)
count+=1 n//i - противоположный делитель count+=1
n+=1 n+=1

Задание №27 на двойки Задание №27 на двойки Задание №27 на двойки Задание №27 на двойки
мин сумма макс сумма макс сумма + деление макс сумма + четность совпадает
f = open("27B.txt")
f = open("27B.txt")
f = open('27B.txt') f = open('27B.txt') ostat = [100001] * 4 n = int(f.readline())
n = int(f.readline()) n = int(f.readline()) n = int(f.readline()) min_razn = 1000001
min_razn = 100000001 min_razn = 100000001 s=0 max_sum = 0
sum_final = 0 sum_final = 0 for i in range(n):
countn = 0
x, y = map(int, f.readline().split())
for i in range(n): for i in range(n): s += max(x, y) for i in range(n):
a, b = map(int, f.readline().split()) a, b = map(int, f.readline().split()) razn = abs(x - y) x, y = map(int, f.readline().split())
sum_final += min(a, b) sum_final += max(a, b) if razn != 0: max_sum += max(x,y)
if abs(b - a) < min_razn and (b - a) % 18 != 0: if abs(b - a) < min_razn and (b - a) % 18 != 0: ostat1 = ostat[:]
countn += max(x,y)%2
for k in range(1, 4):
min_razn = abs(b - a) min_razn = abs(b - a) r0 = (razn + ostat[k]) % 4 if abs(x - y) % 2 != 0:
print(sum_final % 18) print(sum_final % 18) ostat1[r0] = min(razn + ostat[k], ostat[r0]) min_razn = min(abs(x-y), min_razn)
if sum_final % 18 == 0: if sum_final % 18 == 0: ostat1[razn % 4] = min(razn, ostat[razn % 4]) if (((max_sum) % 2 == 0 and (countn > n - countn))
sum_final += min_razn sum_final -= min_razn ostat = ostat1
or ((max_sum) % 2 == 1 and (countn < n - countn))):
if s % 4 != 0:
print(sum_final) print(sum_final) s -= ostat[s % 4] max_sum -= min_razn
print(s) print(max_sum)

Задание №27 на тройки Задание №27 на тройки Задание №27 на тройки Задание №27 сумма 3-х чисел
мин сумма макс сумма макс сумма + два числа делятся на что-то
f = open("27.txt") f = open("27.txt") f = open("27.txt") f = open("27B.txt")
n = int(f.readline()) n = int(f.readline()) n = int(f.readline()) n = int(f.readline())
sum_final = 0 sum_final = 0 sum_final = 0 a = [[100000000001, 100000000001,
min_razn = 100000001 min_razn = 100000001 min_razn = 100000001 100000000001],[100000000001,100000000001,
100000000001],[100000000001,100000000001,
for i in range(n): for i in range(n): for i in range(n):
100000000001]]
a,b,c = map(int, f.readline().split()) a,b,c = map(int, f.readline().split()) a,b,c = map(int, f.readline().split())
for i in range(n):
s = [a,b,c] s = [a,b,c] s = [a,b,c]
x = int(f.readline())
s.sort() s.sort() s.sort()
if x < max(a[x%3]):
sum_final += s[0] sum_final += s[2] sum_final += s[2] + s[1]
del a[x%3][2]
if (s[2]-s[0])<min_razn and (s[2]-s[0]) % 45 != 0: if (s[2]-s[0])<min_razn and (s[2]-s[0]) % 45 != 0: if (s[2]-s[0])<min_razn and (s[2]-s[0]) % 45 != 0:
a[x%3].append(x)
min_razn = s[2] - s[0] min_razn = s[2] - s[0] min_razn = s[2] - s[0]
a[x%3].sort()
if (s[1]-s[0])<min_razn and (s[1]-s[0]) % 45 != 0: if (s[2]-s[1])<min_razn and (s[2]-s[1]) % 45 != 0: if (s[1]-s[0])<min_razn and (s[1]-s[0]) % 45 != 0:
print(a)
min_razn = s[1] - s[0] min_razn = s[2] - s[1] min_razn = s[1] - s[0]
print(min(sum(a[0]), sum(a[1]), sum(a[2]), a[0]
if sum_final % 45 == 0: if sum_final % 45 == 0: if sum_final % 45 == 0:
[0]+a[1][0]+a[2][0]))
sum_final+min_razn sum_final-min_razn sum_final-min_razn
print(sum_final) print(sum_final) print(sum_final)

Задание №27 кол-во пар Задание №27 кол-во пар Задание №27 кол-во пар ЗАДАЧА НА ПОИСК МАКСИМАЛЬНЫХ
ЭЛЕМЕНТОВ РАЗНОСТЬ КОТОРЫХ КРАТНА
сумма кратна 10 Произведение кратно 26 интервал+произведение 120 И i<j a[i]>a[j]

f = open("27B.txt") f = open("27B.txt") кратно 14


f = open("27B.txt")
n = int(f.readline()) n = int(f.readline()) f = open("27B.txt")
n = int(f.readline())
n = int(f.readline())
a = [0]*10 a, a2, a13, a26 = 0,0,0,0 a17 = [0]*120
k14,k2,k7,k = 0,0,0,0
maxsum = []
for i in range(n): for i in range(n): a = []
for i in range(n):
x = int(f.readline()) x = int(f.readline()) for i in range(5):
x = int(f.readline())
a.append(int(f.readline()))
a[x%10]+=1 if x % 26 == 0: otvet = 0
if (x + a17[(120 - x%120)%120] > sum(maxsum)
and x < a17[(120 - x%120)%120]):
otvet = 0 a26+=1 for i in range(n-5):
maxsum = [a17[(120 - x%120)%120],x]
elif x % 13 == 0: x = int(f.readline())
for i in range(1,5): a17[x % 120] = max(x, a17[x % 120])
if a[0] % 14 == 0:
a13 +=1 print(maxsum)
otvet += a[i%10]*a[10-i%10] k14+=1
print(otvet + a[0]*(a[0]-1)//2 + elif x % 2 == 0: elif a[0] % 2 == 0:
k2+=1
a[5]*(a[5]-1)//2) a2 +=1
elif a[0] % 7 == 0:
if x % 26 != 0: k7+=1
a+=1 else:
k+=1
print(a26*a + a13*a2 + a62*(a26-1)//2) if x % 14 == 0:
otvet +=k14+k + k7+k2
elif x % 2 == 0:
otvet += k7 + k14
elif x % 7 == 0:
otvet += k2 + k14
else:
otvet += k14
a[0], a[1], a[2], a[3], a[4] = a[1], a[2], a[3], a[4], x
print(otvet)

Вам также может понравиться