diff --git a/homework_5.py b/homework_5.py new file mode 100644 index 0000000..bd47208 --- /dev/null +++ b/homework_5.py @@ -0,0 +1,71 @@ +#task1------------------------------------------------------------ +""" +Даны четыре действительных числа: x1, y1, x2, y2. Напишите функцию distance(x1, y1, x2, y2), +вычисляющая расстояние между точкой (x1,y1) и (x2,y2). Считайте четыре действительных числа и выведите результат работы этой функции. +""" +from math import sqrt +def read(n): + return float(input()) +def distance(x1, y1, x2, y2): + return sqrt((x2-x1)**2+(y2-y1)**2) +n=0 +x1=read(n) +y1=read(n) +x2=read(n) +y2=read(n) +print (distance(x1, y1, x2, y2)) +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Дано действительное положительное число a и целоe число n. + +Вычислите an. Решение оформите в виде функции power(a, n). + +Стандартной функцией возведения в степень пользоваться нельзя. +""" +def power(a, n): + q=a + res=1 + for i in range(1,abs(n)+1): + res*=a + if n>0: + return res + else: + return 1/res +a=float(input()) +n=int(input()) +print(power(a, n)) +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Дано действительное положительное число a и целое неотрицательное число n. Вычислите an не используя циклы, +возведение в степень через ** и функцию math.pow(), а используя рекуррентное соотношение an=a*an-1. +""" +def power(a, n): + if n == 0: + return 1 + else: + return a * power(a,n-1) +a=float(input()) +n=int(input()) +print (power (a, n)) +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Напишите функцию fib(n), которая по данному целому неотрицательному n возвращает n-e число Фибоначчи. +В этой задаче нельзя использовать циклы — используйте рекурсию. +""" +def fib(n): + if n == 1 or n == 2: + return 1 + else: + return (fib(n-1) + fib(n-2)) +n = int(input()) +print(fib(n)) +#----------------------------------------------------------------- \ No newline at end of file diff --git a/students/km63/Kolcov_Dmytro/homework_1.py b/students/km63/Kolcov_Dmytro/homework_1.py new file mode 100644 index 0000000..2b19385 --- /dev/null +++ b/students/km63/Kolcov_Dmytro/homework_1.py @@ -0,0 +1,84 @@ +#task1------------------------------------------------------------ +""" +Напишіть програму, яка отримує три числа і друкує їх суму. Кожне число користувач вводить у окремому рядку. +""" +a = int(input()) +b = int(input()) +c = int(input()) +print(a + b + c) +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Напишіть програму, яка отримує довжини двох катетів прямокутного трикутника та виводить його площу. Користувач вводить довжини катетів у окремих рядках. + +""" +b = int(input()) +h = int(input()) +print(1/2*b*h) +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +N студентів отримали K яблук і розподілити їх між собою порівну. Неподілені яблука залишились у кошику. Скільки яблук отримає кожен студент? Скільки яблук залишиться в кошику? +""" +n = int(input()) +k = int(input()) +print(k // n) +print(k % n) +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Нехай число N - кількість хвилин, відрахованих після півночі. Скільки годин і хвилин буде показувати цифровий годинник, якщо за відлік взяти 00:00? +""" +a = int(input()) +b=a//60 +b=b%24 +c=a%60 +print(b,c) +#----------------------------------------------------------------- + + +#task5------------------------------------------------------------ +""" +Напишіть програму, яка вітає користувача, друкуючи слово "Hello", ім'я користувача і знак оклику після нього. Наприклад “Hello, Mike!” + +""" +a = str(input()) +print("Hello, "+a+"!") +#----------------------------------------------------------------- + + +#task6------------------------------------------------------------ +""" +Напишіть програму, яка зчитує ціле число і друкує його попереднє і наступне значення за форматом: +""" +a = int(input()) +b=(a+1) +c=(a-1) +a=str(a) +b=str(b) +c=str(c) +print("The next number for the number "+a+" is "+b+".") +print("The previous number for the number "+a+" is "+c+".") + +#----------------------------------------------------------------- + + +#task7------------------------------------------------------------ +""" +Школа вирішила сформувати три нові групи учнів та надати їм окремі класи. У кожному класі необхідно встановити столи для учнів, +у розрахунку, що за одним столом може сидіти не більше двох учнів. Яку мінімальну кількість столів необхідно придбати? +""" +a = int(input()) +b = int(input()) +c = int(input()) +d=(a+1)//2 +e=(b+1)//2 +f=(c+1)//2 +print(d+e+f) +#----------------------------------------------------------------- \ No newline at end of file diff --git a/students/km63/Kolcov_Dmytro/homework_2.py b/students/km63/Kolcov_Dmytro/homework_2.py new file mode 100644 index 0000000..db0a978 --- /dev/null +++ b/students/km63/Kolcov_Dmytro/homework_2.py @@ -0,0 +1,204 @@ +#task1------------------------------------------------------------ +""" +Дано два цілих числа. Вивести найменше з них. +""" +a = int(input()) +b = int(input()) +if (a>b): + print (b) +else: + print(a) +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Вивести результат функціїsign(x), що визначається наступним чином: +sign(x) = 1, if x > 0, +sign(x) = -1, if x < 0, +sign(x) = 0, if x = 0.. + +""" +x = int(input()) +if x>0: + print(1) +if x==0: + print(0) +if x<0: + print(-1) +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Дано три цілих числа. Вивести найменше з них. +""" +a = int(input()) +b = int(input()) +c = int(input()) +if a0 and (b%n==0 or b%m==0): + print ('YES') +else: + print ('NO') +#----------------------------------------------------------------- \ No newline at end of file diff --git a/students/km63/Kolcov_Dmytro/homework_3.py b/students/km63/Kolcov_Dmytro/homework_3.py new file mode 100644 index 0000000..a172e5f --- /dev/null +++ b/students/km63/Kolcov_Dmytro/homework_3.py @@ -0,0 +1,56 @@ +#task1------------------------------------------------------------ +""" +Факториалом числа n называется произведение 1 ? 2 ? ... ? n. Обозначение: n!. + +По данному натуральному n вычислите значение n!. Пользоваться математической библиотекой math в этой задаче запрещено. +""" +a=int(input()) +c=1 +for b in range(1,a+1): + c=c*b +print(c) +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +По данному натуральном n вычислите сумму 1!+2!+3!+...+n!. В решении этой задачи можно использовать только один цикл. Пользоваться математической библиотекой math в этой задаче запрещено. + +""" +a=int(input()) +c=0 +d=1 +v=0 +for b in range(1,a+1): + d=d*b + v=d + c=c+v +print (c) +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. Подсчитайте количество нулей среди введенных чисел и выведите это количество. +Вам нужно подсчитать количество чисел, равных нулю, а не количество цифр. +""" +a=int(input()) +d=0 +for b in range(1,a+1): + c=int(input()) + if c==0: + d=d+1 +print(d) +#----------------------------------------------------------------- + + +#task1------------------------------------------------------------ +""" +По данному натуральному n ? 9 выведите лесенку из n ступенек, i-я ступенька состоит из чисел от 1 до i без пробелов. +""" +i=int(input()) +for a in range(1,i+1): + for b in range(1,a+1): + print(b, end='') + print() +#----------------------------------------------------------------- \ No newline at end of file diff --git a/students/km63/Kolcov_Dmytro/homework_4.py b/students/km63/Kolcov_Dmytro/homework_4.py new file mode 100644 index 0000000..b933b88 --- /dev/null +++ b/students/km63/Kolcov_Dmytro/homework_4.py @@ -0,0 +1,299 @@ +#task1------------------------------------------------------------ +""" +По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания. +""" +namber=int(input()) +sqr=1 +res=1 +while res <= namber: + print (res, end=' ') + res=((sqr+1)**2) + sqr+=1 +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1. +""" +namber = int(input()) +i=2 +while namber%i!=0: + i+=1 +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +По данному натуральному числу N найдите наибольшую целую степень двойки, не превосходящую N. Выведите показатель степени и саму степень. +""" +namber=int(input()) +sqr=1 +sqr_of_2=2 +while sqr_of_2*2<=namber: + sqr+=1 + sqr_of_2*=2 +print (sqr, sqr_of_2) +#write your answer here... + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, +на который пробег спортсмена составит не менее y километров. +""" +day_x = int(input()) +day_y = int(input()) +day=1 +while day_xmak: + mak=namber + namber=int(input()) +print (mak) +#----------------------------------------------------------------- + + +#task10------------------------------------------------------------ +""" +Последовательность состоит из натуральных чисел и завершается числом 0. Определите индекс наибольшего элемента последовательности. +Если наибольших элементов несколько, выведите индекс первого из них. Нумерация элементов начинается с нуля. +""" +namber=int(input()) +mak=0 +counter=-1 +while namber!=0: + counter+=1 + if namber>mak: + mak=namber + count=counter + namber=int(input()) +print (count) +#----------------------------------------------------------------- + + +#task11------------------------------------------------------------ +""" +Определите количество четных элементов в последовательности, завершающейся числом 0. +""" +namber=int(input()) +counter=0 +while namber!=0: + if namber%2==0: + counter+=1 + namber=int(input()) +print (counter) +#----------------------------------------------------------------- + + +#task12------------------------------------------------------------ +""" +Последовательность состоит из натуральных чисел и завершается числом 0. Определите, сколько элементов этой последовательности больше предыдущего элемента. +""" +namber=int(input()) +counter=0 +while namber!=0: + buff=namber + namber=int(input()) + if buffmax1 and namber>max2: + if max1>max2: + max2=max1 + max1=namber + if nambermax2: + max2=namber + namber=int(input()) +print (max2) +#----------------------------------------------------------------- + + +#task14------------------------------------------------------------ +""" +Последовательность состоит из натуральных чисел и завершается числом 0. Определите, сколько элементов этой последовательности равны ее наибольшему элементу. +""" +namber=int(input()) +mak=0 +count=0 +while namber!=0: + if namber>mak: + mak=namber + count=1 + elif namber==mak: + count+=1 + namber=int(input()) +print (count) +#----------------------------------------------------------------- + + +#task15------------------------------------------------------------ +""" +Последовательность Фибоначчи определяется так: + +?0 = 0, ?1 = 1, ?n = ?n?1 + ?n?2. + +По данному числу n определите n-е число Фибоначчи ?n. +""" +namber = int(input()) +a=0 +b=1 +count=0 +while namber-1 != count: + count+=1 + fib=a+b + a=b + b=fib +print(fib) +#----------------------------------------------------------------- + + +#task16------------------------------------------------------------ +""" +Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что ?n = A. Если А не является числом Фибоначчи, выведите число -1. +""" +count=int(input()) +a=0 +b=1 +fib=0 +counter=0 +while fibcount: + count=counter + counter=1 +print (count) +#----------------------------------------------------------------- + + +#task18------------------------------------------------------------ +""" +Дана последовательность натуральных чисел x1, x2, ..., xn. Стандартным отклонением называется величина +?=(x1?s)2+(x2?s)2+…+(xn?s)2n?1???????????????????????????????v +где s=x1+x2+…+xnn — среднее арифметическое последовательности. +Определите стандартное отклонение для данной последовательности натуральных чисел, завершающейся числом 0. +""" +namber=int(input()) +x=0 +x_in_sqr=0 +count=0 +sig=0 +while namber!=0: + count+=1 + x+=namber + x_in_sqr+=namber**2 + namber=int(input()) +sum=x/count +sig=((x_in_sqr-2*x*sum+count*sum**2)/(count-1))**(1/2) +print(sig) +#----------------------------------------------------------------- \ No newline at end of file diff --git a/students/km63/Kolcov_Dmytro/homework_5.py b/students/km63/Kolcov_Dmytro/homework_5.py new file mode 100644 index 0000000..bd47208 --- /dev/null +++ b/students/km63/Kolcov_Dmytro/homework_5.py @@ -0,0 +1,71 @@ +#task1------------------------------------------------------------ +""" +Даны четыре действительных числа: x1, y1, x2, y2. Напишите функцию distance(x1, y1, x2, y2), +вычисляющая расстояние между точкой (x1,y1) и (x2,y2). Считайте четыре действительных числа и выведите результат работы этой функции. +""" +from math import sqrt +def read(n): + return float(input()) +def distance(x1, y1, x2, y2): + return sqrt((x2-x1)**2+(y2-y1)**2) +n=0 +x1=read(n) +y1=read(n) +x2=read(n) +y2=read(n) +print (distance(x1, y1, x2, y2)) +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Дано действительное положительное число a и целоe число n. + +Вычислите an. Решение оформите в виде функции power(a, n). + +Стандартной функцией возведения в степень пользоваться нельзя. +""" +def power(a, n): + q=a + res=1 + for i in range(1,abs(n)+1): + res*=a + if n>0: + return res + else: + return 1/res +a=float(input()) +n=int(input()) +print(power(a, n)) +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Дано действительное положительное число a и целое неотрицательное число n. Вычислите an не используя циклы, +возведение в степень через ** и функцию math.pow(), а используя рекуррентное соотношение an=a*an-1. +""" +def power(a, n): + if n == 0: + return 1 + else: + return a * power(a,n-1) +a=float(input()) +n=int(input()) +print (power (a, n)) +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Напишите функцию fib(n), которая по данному целому неотрицательному n возвращает n-e число Фибоначчи. +В этой задаче нельзя использовать циклы — используйте рекурсию. +""" +def fib(n): + if n == 1 or n == 2: + return 1 + else: + return (fib(n-1) + fib(n-2)) +n = int(input()) +print(fib(n)) +#----------------------------------------------------------------- \ No newline at end of file diff --git a/students/km63/Kolcov_Dmytro/homework_9.py b/students/km63/Kolcov_Dmytro/homework_9.py new file mode 100644 index 0000000..6e85bf7 --- /dev/null +++ b/students/km63/Kolcov_Dmytro/homework_9.py @@ -0,0 +1,145 @@ +#task1------------------------------------------------------------ +""" +Дан СЃРїРёСЃРѕРє чисел. Определите, сколько РІ нем встречается различных чисел. +""" +liste = set(input().split()) +print (len(liste)) +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Даны РґРІР° СЃРїРёСЃРєР° чисел. Посчитайте, сколько чисел содержится одновременно как РІ первом СЃРїРёСЃРєРµ, так Рё РІРѕ втором. +""" +list_1 = set(input().split()) +list_2 = set(input().split()) +new_list = list_1 & list_2 +print (len(new_list)) +#----------------------------------------------------------------- + +#task3------------------------------------------------------------ +""" +Даны РґРІР° СЃРїРёСЃРєР° чисел. Найдите РІСЃРµ числа, которые РІС…РѕРґСЏС‚ как РІ первый, так Рё РІРѕ второй СЃРїРёСЃРѕРє Рё выведите РёС… РІ РїРѕСЂСЏРґРєРµ возрастания. +""" +list_1 = set(int(i) for i in input().split()) +list_2 = set(int(i) for i in input().split()) +new_list = list(list_1 & list_2) +new_list.sort() +for i in range (len(new_list)): + print (list(new_list)[i], end = ' ') +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Р’Рѕ РІС…РѕРґРЅРѕР№ строке записана последовательность чисел через пробел. Для каждого числа выведите слово YES (РІ отдельной строке), +если это число ранее встречалось РІ последовательности или NO, если РЅРµ встречалось. +""" +liste = input().split() +for i in range (len (liste)): + if liste[i] in liste[:i]: + print ('YES') + else: + print ('NO') +#----------------------------------------------------------------- + +#task5------------------------------------------------------------ +""" +Р’Рѕ РІС…РѕРґРЅРѕР№ строке записана последовательность чисел через пробел. Для каждого числа выведите слово YES (РІ отдельной строке), +если это число ранее встречалось РІ последовательности или NO, если РЅРµ встречалось. +""" +liste = input().split() +for i in range (len (liste)): + if liste[i] in liste[:i]: + print ('YES') + else: + print ('NO') +#----------------------------------------------------------------- + +#----------------------------------------------------------------- + + +#task6------------------------------------------------------------ +""" +Дан текст: РІ первой строке записано число строк, далее РёРґСѓС‚ сами строки. Определите, сколько различных слов содержится РІ этом тексте. + +Словом считается последовательность непробельных символов идущих РїРѕРґСЂСЏРґ, слова разделены РѕРґРЅРёРј или большим числом пробелов или символами конца строки. +""" +nam = int(input()) +liste = set() +for i in range (nam): + liste = liste | set(input().split()) +print (len(liste)) +#----------------------------------------------------------------- + +#task8------------------------------------------------------------ +""" +РђРІРіСѓСЃС‚ Рё Беатриса продолжают играть РІ РёРіСЂСѓ, РЅРѕ РђРІРіСѓСЃС‚ начал жульничать. РќР° каждый РёР· РІРѕРїСЂРѕСЃРѕРІ Беатрисы РѕРЅ выбирает такой вариант ответа YES или NO, + чтобы множество возможных задуманных чисел оставалось как РјРѕР¶РЅРѕ больше. Например, если РђРІРіСѓСЃС‚ задумал число РѕС‚ 1 РґРѕ 5, Р° Беатриса спросила РїСЂРѕ числа 1 Рё 2, + то РђРІРіСѓСЃС‚ ответит NO, Р° если Беатриса СЃРїСЂРѕСЃРёС‚ РїСЂРѕ 1, 2, 3, то РђРІРіСѓСЃС‚ ответит YES. + +Если Р¶Рµ Бетриса РІ своем РІРѕРїСЂРѕСЃРµ перечисляет СЂРѕРІРЅРѕ половину РёР· задуманных чисел, то РђРІРіСѓСЃС‚ РёР· вредности всегда отвечает NO. Наконец, +РђРІРіСѓСЃС‚ РїСЂРё ответе учитывает РІСЃРµ предыдущие РІРѕРїСЂРѕСЃС‹ Беатрисы Рё СЃРІРѕРё ответы РЅР° РЅРёС…, то есть множество возможных задуманных чисел уменьшается. + +Первая строка содержит наибольшее число, которое РјРѕРі загадать РђРІРіСѓСЃС‚. Каждая следующая строка содержит очередной РІРѕРїСЂРѕСЃ Беатрисы: набор чисел, +разделенных пробелами. Последняя строка входных данных содержит РѕРґРЅРѕ слово HELP. + +Для каждого РІРѕРїСЂРѕСЃР° Беатрисы выведите ответ Августа РЅР° этот РІРѕРїСЂРѕСЃ. После этого выведите через пробел, +РІ РїРѕСЂСЏРґРєРµ возрастания, РІСЃРµ числа, которые РјРѕРі загадать РђРІРіСѓСЃС‚ после ответа РЅР° РІСЃРµ РІРѕРїСЂРѕСЃС‹ Беатрисы. +""" +def inpute(count): + liste = set() + for i in range(count): + liste.add(input()) + return (liste) +liste = [] +languages = set() +schools = set() +count_of_schools = int(input()) +for j in range (count_of_schools): + count_of_languages = int(input()) + liste.append(inpute(count_of_languages)) +for j in range (count_of_schools-1): + schools = schools | liste[j] & liste[j+1] +for j in range (count_of_schools-1): + languages = languages | liste[j] | liste[j+1] +print (len(schools)) +for i in range (len(schools)): + print (list(schools)[i]) +print (len(languages)) +for i in range (len(languages)): + print (list(languages)[i]) +#----------------------------------------------------------------- + +#task9------------------------------------------------------------ +""" +Каждый РёР· некоторого множества школьников некоторой школы знает некоторое количество языков. РќСѓР¶РЅРѕ определить сколько языков знают РІСЃРµ школьники, Рё сколько языков знает хотя Р±С‹ РѕРґРёРЅ РёР· школьников. + +Р’ первой строке задано количество школьников. Для каждого РёР· школьников сперва записано количество языков, которое РѕРЅ знает, Р° затем - названия языков, РїРѕ РѕРґРЅРѕРјСѓ РІ строке. + +Р’ первой строке выведите количество языков, которые знаю РІСЃРµ школьники. Начиная СЃРѕ второй строки - СЃРїРёСЃРѕРє таких языков. Затем - количество языков, +которые знает хотя Р±С‹ РѕРґРёРЅ школьник, РЅР° следующих строках - СЃРїРёСЃРѕРє таких языков. Языки РЅСѓР¶РЅРѕ выводить РІ лексикографическом РїРѕСЂСЏРґРєРµ, РїРѕ РѕРґРЅРѕРјСѓ РЅР° строке. +""" +def inpute(count): + liste = set() + for i in range(count): + liste.add(input()) + return (liste) +liste = [] +languages = set() +schools = set() +count_of_schools = int(input()) +for j in range (count_of_schools): + count_of_languages = int(input()) + liste.append(inpute(count_of_languages)) +for j in range (count_of_schools-1): + schools = schools | liste[j] & liste[j+1] +for j in range (count_of_schools-1): + languages = languages | liste[j] | liste[j+1] +print (len(schools)) +for i in range (len(schools)): + print (list(schools)[i]) +print (len(languages)) +for i in range (len(languages)): + print (list(languages)[i]) +#-----------------------------------------------------------------