From d1fc3766b11e9a8205c9468e6b1ce8b14e82c126 Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Tue, 18 Oct 2016 12:19:56 +0300 Subject: [PATCH 01/12] Add files via upload --- students/km62/Shevchenko_Nikita/homework_1.py | 146 +++++++++ students/km62/Shevchenko_Nikita/homework_2.py | 306 ++++++++++++++++++ students/km62/Shevchenko_Nikita/homework_3.py | 195 +++++++++++ 3 files changed, 647 insertions(+) create mode 100644 students/km62/Shevchenko_Nikita/homework_1.py create mode 100644 students/km62/Shevchenko_Nikita/homework_2.py create mode 100644 students/km62/Shevchenko_Nikita/homework_3.py diff --git a/students/km62/Shevchenko_Nikita/homework_1.py b/students/km62/Shevchenko_Nikita/homework_1.py new file mode 100644 index 0000000..014790d --- /dev/null +++ b/students/km62/Shevchenko_Nikita/homework_1.py @@ -0,0 +1,146 @@ +#Задача №1 ------------------------------------------------------------------------ +""" + +Умова: Напишіть програму, яка отримує три числа і друкує їх суму. Кожне число користувач вводить у окремому рядку. + +Вхідні дані: 3 дійсних числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести суму трьох чисел на екран. +""" + + + +a = int(input("Пожалуйста, введите первое число: ")) +b = int(input("Пожалуйста, введите второе число: ")) +c = int(input("Пожалуйста, введите третье число: ")) +print("Сумма Ваших чисел: ",a + b + c) + +#----------------------------------------------------------------------------------- + + +#Задача №2-------------------------------------------------------------------------- +""" +Умова: Напишіть програму, яка отримує довжини двох катетів прямокутного трикутника та виводить його площу. Користувач вводить довжини катетів у окремих рядках. + +Вхідні дані: 2 дійсних числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести площу трикутника на екран. +""" + + + +b = int(input("Введите сторону: ")) +h = int(input("Введите высоту: ")) +print(b*h/2) + +#---------------------------------------------------------------------------------- + + +#Задача №3------------------------------------------------------------------------- +""" +Умова: N студентів отримали K яблук і розподілити їх між собою порівну. Неподілені яблука залишились у кошику. Скільки яблук отримає кожен студент? Скільки яблук залишиться в кошику? + +Програма отримує числа N і K. Вона повинна вивести два числа: відповіді на поставлені вище питання. + +Вхідні дані: 2 цілих числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести два числа. Перше - кількість яблук у студента, друге - кількість яблук, що лишилось у кошику. +""" + + + +students = int(input("Введите количество студентов")) +apples = int(input("Введите количество яблок")) +every = apples // students +rem = apples % students +print(every) +print(rem) + +#----------------------------------------------------------------------------------- + + +#Задача №4----------------------------------------------------------------------------------------- +""" +Умова: Нехай число N - кількість хвилин, відрахованих після півночі. Скільки годин і хвилин буде показувати цифровий годинник, якщо за відлік взяти 00:00? + +Програма повинна виводити два числа: кількість годин (від 0 до 23) і кількість хвилин (від 0 до 59). Візьміть до уваги, що починаючи з півночі може пройти декілька днів, тому число N може бути достатньо великим. + +Вхідні дані: 1 ціле число, що вводить користувач + +Вихідні дані: вивести два числа. Перше - години, друге - хвилини. +""" + + + +minutes = int(input("Введите минуты: ")) +period = minutes//1440 +minutes = minutes - period*1440 +hours = minutes//60 +newMinutes = minutes - hours*60 +print(hours) +print(newMinutes) + +#----------------------------------------------------------------------------------- + + +#Задача №5-------------------------------------------------------------------------- +""" +Умова: Напишіть програму, яка вітає користувача, друкуючи слово "Hello", ім'я користувача і знак оклику після нього. Наприклад “Hello, Mike!” + +Вхідні дані: ім'я користувача + +Вихідні дані: вивести рядок привітання +""" + + + +name = input() +print("Hello, "+name+"!") + +#---------------------------------------------------------------------------------- + + +#Задача №6------------------------------------------------------------------------- +""" +Умова: Напишіть програму, яка зчитує ціле число і друкує його попереднє і наступне значення за форматом: + + +The next number for the number 179 is 180. +The previous number for the number 179 is 178. +Вхідні дані: ціле число + +Вихідні дані: два рядки за наведеним у завдання форматом. +""" + + + +integer = int(input()) +print("The next number for the number",str(integer),"is",str(integer+1)+".") +print("The previous number for the number",str(integer),"is",str(integer-1)+".") + +#---------------------------------------------------------------------------------- + + +#Задача №7------------------------------------------------------------------------- +""" +Умова: Школа вирішила сформувати три нові групи учнів та надати їм окремі класи. У кожному класі необхідно встановити столи для учнів, у розрахунку, що за одним столом може сидіти не більше двох учнів. Яку мінімальну кількість столів необхідно придбати? + +Вхідні дані: 3 цілих числа - кількість учнів у кожній групі. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: число - кількість столів +""" + + + +firstGroup = int(input("Введите количество учеников первой группы: ")) +secondGroup = int(input("Введите количество учеников второй группы: ")) +thirdGroup = int(input("Введите количество учеников третьей группы: ")) +firstPar = firstGroup%2 +secondPar = secondGroup%2 +thirdPar = thirdGroup%2 +firstGroupDesks = firstGroup//2+firstPar +secondGroupDesks = secondGroup//2+secondPar +thirdGroupDesks = thirdGroup//2+thirdPar +print(firstGroupDesks + secondGroupDesks + thirdGroupDesks) + +#-------------------------------------------------------------------------------------------------- diff --git a/students/km62/Shevchenko_Nikita/homework_2.py b/students/km62/Shevchenko_Nikita/homework_2.py new file mode 100644 index 0000000..e799975 --- /dev/null +++ b/students/km62/Shevchenko_Nikita/homework_2.py @@ -0,0 +1,306 @@ +#Задача №1 --------------------------------------------------------------------------------------- +""" + +Умова: Дано два цілих числа. Вивести найменше з них. + +Вхідні дані: користувач вводить ціле число + +Вихідні дані: вивести ціле число +""" + + + +integer1 = int(input()) +integer2 = int(input()) +if(integer1 > integer2): + print(integer2) +else: + print(integer1) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №2----------------------------------------------------------------------------------------- +""" +Умова: Вивести результат функціїsign(x), що визначається наступним чином: +sign(x) = 1, if x > 0, +sign(x) = -1, if x < 0, +sign(x) = 0, if x = 0.. + +Вхідні дані: користувач вводить дійсне число. + +Вихідні дані: вивести результат sign. +""" + + + +def sign(x): + if(x > 0): + print(1) + elif(x < 0): + print(-1) + else: + print(0) +a = int(input()) +sign(a) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №3----------------------------------------------------------------------------------------- +""" +Задача №3 + +Умова: Дано три цілих числа. Вивести найменше з них. + +Вхідні дані: 3 цілих числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести ціле число +""" + + + +a = int(input()) +b = int(input()) +c = int(input()) +if(a < b): + minimum = a +elif(b < a): + minimum = b +if(minimum > c): + minimum = c +print(minimum) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №4----------------------------------------------------------------------------------------- +""" +Умова: Дано ціле число, що визначає рік. Визначити, чи є вказаний рік високосним. Якщо так, то вивести користувачу "LEAP", в іншому випадку – "СOMMON". + +Рік високосний, якщо виконується хоча б одна з умов: + +рік завжди високосним, якщо його номер ділиться на 4 без остачі і не ділиться без остачі на 100 +рік завжди високосним, якщо його номер ділиться на 400 без остачі +Вхідні дані: ціле число, що вводить користувач + +Вихідні дані: вивести текстовий рядок. +""" + + + +a = int(input()) +if(a%100 == 0): + a = a/100 +if(a%4 == 0): + print("LEAP") +else: + print("COMMON") + + +#-------------------------------------------------------------------------------------------------- + + +#Задача №5----------------------------------------------------------------------------------------- +""" +Умова: Дано три цілих числа. Визначте, скільки з них дорівнюють один одному. Програма повинна виводити одне з чисел: 3 (якщо всі числа однакові), 2 (якщо два з них дорівнюють один одному, а третє відрізняється) або 0 (якщо всі числа різні). + +Вхідні дані: 3 цілих числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести ціле число +""" + + + +a = int(input()) +b = int(input()) +c = int(input()) +if(a == b and b == c and a == c): + answer=3 +elif(a == b or b==c or a == c): + answer=2 +else: + answer=0 +print (answer) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №6----------------------------------------------------------------------------------------- +""" +Умова: Шахова тура переміщається по горизонталі або по вертикалі. Дано координати двох клітин шахової дошки. Визначити, чи може тура перейти з першої клітини у другу за один хід. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо тура може виконати переміщення, або "NO" в іншому випадку. + +Вхідні дані: 4 цілих числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести текстовий рядок. +""" + + + +column1 = int(input()) +row1 = int(input()) +column2 = int(input()) +row2 = int(input()) +if(column1 == column2 or row1==row2): + print("YES"); +else: + print("NO"); + +#-------------------------------------------------------------------------------------------------- + + +#Задача №7----------------------------------------------------------------------------------------- +""" +Умова: Дано координати двох клітин шахової дошки. Визначити, чи однакового вони кольору. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо колір однаковий, або "NO" в іншому випадку. + +Вхідні дані: 4 цілих числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести текстовий рядок. +""" + + + +column1 = int(input()) +row1 = int(input()) +column2 = int(input()) +row2 = int(input()) +if(column1 % 2 != 0): + if(row1 % 2 == 0): + firstCell = "Black" + elif(row1 % 2 != 0): + firstCell = "White" +elif(column1 % 2 == 0): + if(row1 % 2 != 0): + firstCell = "Black" + elif(row1 % 2 == 0): + firstCell = "White" +if(column2 % 2 != 0): + if(row2 % 2 == 0): + secondCell = "Black" + elif(row2 % 2 != 0): + secondCell = "White" +elif(column2 % 2 == 0): + if(row2 % 2 != 0): + secondCell = "Black" + elif(row2 % 2 == 0): + secondCell = "White" +if(firstCell == secondCell): + print('YES') +else: + print('NO') + +#-------------------------------------------------------------------------------------------------- + + +#Задача №8----------------------------------------------------------------------------------------- +""" +Умова: Шаховий король переміщується по горизонталі, по вертикалі або по діагоналі на будь-яку сусідню клітинку. Дано координати двох клітин шахової дошки. Визначити, чи може король перейти з першої клітини у другу за один хід. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. +Вхідні дані: 4 цілих числа. Кожне число користувач вводить в окремому рядку. +Вихідні дані: вивести текстовий рядок. +""" + + + +column1 = int(input()) +row1 = int(input()) +column2 = int(input()) +row2 = int(input()) +if(column1 - column2 == 1 or column1 - column2 == 0 or column1 - column2 == -1): + if(row1-row2==1 or row1-row2 ==0 or row1-row2 == -1): + print("YES") + else: + print("NO") +else: + print("NO") + +#-------------------------------------------------------------------------------------------------- + + +#Задача №9----------------------------------------------------------------------------------------- +""" +Умова: Шаховий слон рухається по діагоналі на будь-яку кількість клітин. Дано координати двох клітин шахової дошки. Визначити, чи може слон перейти з першої клітини у другу за один хід. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. + +Вхідні дані: 4 цілих числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести текстовий рядок. +""" + + + +column1 = int(input()) +row1 = int(input()) +column2 = int(input()) +row2 = int(input()) +if(abs(column2-column1) == abs(row2-row1)): + print("YES") +else: + print("NO") + +#-------------------------------------------------------------------------------------------------- + +#Задача №10----------------------------------------------------------------------------------------- +""" +Умова: Шахова королева рухається по горизонталі, по вертикалі або по діагоналі на будь-яку кількість клітин. Дано координати двох клітин шахової дошки. Визначити, чи може королева перейти з першої клітини у другу за один хід. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. + +Вхідні дані: 4 цілих числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести текстовий рядок. +""" + + + +column1 = int(input()) +row1 = int(input()) +column2 = int(input()) +row2 = int(input()) +if(abs(column2-column1) == abs(row2-row1)): + print("YES") +elif(column1 == column2 or row1 == row2): + print("YES") +else: + print("NO") +#-------------------------------------------------------------------------------------------------- + +#Задача №11----------------------------------------------------------------------------------------- +""" +Умова: Шаховий кінь рухається як літера L. Він може переміщатись на дві клітинки по горизонталі і одну клітинку по вертикалі або на дві клітинки по вертикалі і одну по горизонталі. Дано координати двох клітин шахової дошки. Визначити, чи може кінь перейти з першої клітини у другу за один хід. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. + +Вхідні дані: 4 цілих числа. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести текстовий рядок. +""" + + + +column1 = int(input()) +row1 = int(input()) +column2 = int(input()) +row2 = int(input()) +if(abs(column1-column2) == 1 and abs(row1-row2) == 2 or abs(column1-column2) == 2 and abs(row1-row2) == 1): + print("YES") +else: + print("NO") + + +#-------------------------------------------------------------------------------------------------- + +#Задача №12----------------------------------------------------------------------------------------- +""" +Умова: Шоколад має форму прямокутника, розділеного на n×m клітин. Шоколад може бути розділений на дві частини тільки по горизонталі або по вертикалі, при цьому клітини мають бути цілими. Визначити, чи можна розділити шоколад за один крок таким чином, щоб одна з частин матиме точно k клітин. Програма має вивести "YES", якщо шоколад можна поділити, або "NO" в іншому випадку. + +Вхідні дані: 3 цілих числа: n,m, k. Кожне число користувач вводить в окремому рядку. + +Вихідні дані: вивести текстовий рядок. +""" + + + +width = int(input()) +height = int(input()) +piece = int(input()) +if((width*height - piece) >= 0 and (width*height - piece)%width == 0 or (width*height - piece) >= 0 and (width*height - piece)%height == 0): + print("YES") +else: + print("NO") + +#-------------------------------------------------------------------------------------------------- diff --git a/students/km62/Shevchenko_Nikita/homework_3.py b/students/km62/Shevchenko_Nikita/homework_3.py new file mode 100644 index 0000000..7e36be6 --- /dev/null +++ b/students/km62/Shevchenko_Nikita/homework_3.py @@ -0,0 +1,195 @@ +#Задача №1 --------------------------------------------------------------------------------------- +""" +Даны два целых числа A и B (при этом A ≤ B). +Выведите все числа от A до B включительно. +""" + + + +a = int(input("Введите меньшее число: ")) +b = int(input("Введите большее число: ")) +for i in range(a,b+1): + print (i) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №2----------------------------------------------------------------------------------------- +""" +Даны два целых числа A и В. +Выведите все числа от A до B включительно, в порядке возрастания, если A < B, +или в порядке убывания в противном случае. +""" + + + +a = int(input("Введите первое число")) +b = int(input("Введите второе число")) +if(a > b): + for i in range(a,b-1,-1): + print(i) +else: + for i in range(a,b+1): + print(i) +#-------------------------------------------------------------------------------------------------- + + +#Задача №3----------------------------------------------------------------------------------------- +""" +Задача №3 +Даны два целых числа A и В, A>B A>B. Выведите все нечётные числа от A до B +включительно. В этой задаче можно обойтись без инструкции if. +""" + + + +a = int(input()) +k = a%2 +a = a+k-1 +b = int(input()) +for i in range(a,b-1,-2): + print(i) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №4----------------------------------------------------------------------------------------- +""" +Дано 10 целых чисел. Вычислите их сумму. Напишите программу, использующую наименьшее число переменных. +""" + + + +a = int(input()) +sum = 0 +for i in range(10): + sum += int(input()) +print(sum) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №5----------------------------------------------------------------------------------------- +""" +Дано несколько чисел. Вычислите их сумму. +Сначала вводите количество чисел N, затем вводится ровно N целых чисел. +Какое наименьшее число переменных нужно для решения этой задачи? +""" + + + +sum = 0 +n = int(input()) +for i in range(n): + sum += int(input()) +print(sum) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №6----------------------------------------------------------------------------------------- +""" +По данному натуральном n вычислите сумму 13+23+33+...+n3. +""" + + + +sum = 0 +n = int(input()) +for i in range(n+1): + sum+= i**3 +print(sum) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №7----------------------------------------------------------------------------------------- +""" +Факториалом числа n называется произведение 1 × 2 × ... × n. Обозначение: n!. +По данному натуральному n вычислите значение n!. +Пользоваться математической библиотекой math в этой задаче запрещено. +""" + + + +mult = 1 +n = int(input()) +for i in range(1,n+1): + mult *= i +print(mult) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №8----------------------------------------------------------------------------------------- +""" +По данному натуральном nn вычислите сумму 1!+2!+3!+...+n!1!+2!+3!+...+n!. В решении этой задачи можно использовать только один цикл. +Пользоваться математической библиотекой math в этой задаче запрещено. +""" + + + +sum = 0 +mult = 1 +n = int(input()) +for i in range(1,n+1): + mult *= i + sum+=mult +print(sum) + +#-------------------------------------------------------------------------------------------------- + + +#Задача №9----------------------------------------------------------------------------------------- +""" +Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. +Подсчитайте количество нулей среди введенных чисел и выведите это количество. +Вам нужно подсчитать количество чисел, равных нулю, а не количество цифр. +""" + + + +counter=0 +n = int(input()) +for i in range(n): + if(int(input()) == 0): + counter = counter + 1 +print(counter) + +#-------------------------------------------------------------------------------------------------- + +#Задача №10----------------------------------------------------------------------------------------- +""" +По данному натуральному n ≤ 9 выведите лесенку из n ступенек, i-я ступенька состоит из чисел от 1 до i без пробелов. +""" + + + +n = int(input()) +for i in range(n): + for a in range(i+1): + print(a+1,end='') + print() +#-------------------------------------------------------------------------------------------------- + +#Задача №11----------------------------------------------------------------------------------------- +""" +Для настольной игры используются карточки с номерами от 1 до N. Одна карточка потерялась. Найдите ее, зная номера оставшихся карточек. +Дано число N, далее N − 1 номер оставшихся карточек (различные числа от 1 до N). Программа должна вывести номер потерянной карточки. + +Для самых умных: массивами и аналогичными структурами данных пользоваться нельзя. +""" + + + +div = 0 +sum = 0 +n = int(input()) +for i in range(n-1): + sum += int(input()) +for i in range(n+1): + div += i +print(div - sum) + + +#------------------------------------------------------------------------------- From aaa524d64b5e3da92156430b6cdac63fb652ecb1 Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Tue, 18 Oct 2016 12:36:35 +0300 Subject: [PATCH 02/12] Update homework_3.py --- students/km62/Shevchenko_Nikita/homework_3.py | 1 - 1 file changed, 1 deletion(-) diff --git a/students/km62/Shevchenko_Nikita/homework_3.py b/students/km62/Shevchenko_Nikita/homework_3.py index 7e36be6..c66c34c 100644 --- a/students/km62/Shevchenko_Nikita/homework_3.py +++ b/students/km62/Shevchenko_Nikita/homework_3.py @@ -60,7 +60,6 @@ -a = int(input()) sum = 0 for i in range(10): sum += int(input()) From adb1651ac84e2eb970a8c473ac4e0a4236829b95 Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 20 Oct 2016 19:45:59 +0300 Subject: [PATCH 03/12] Update homework_1.py --- students/km62/Shevchenko_Nikita/homework_1.py | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/students/km62/Shevchenko_Nikita/homework_1.py b/students/km62/Shevchenko_Nikita/homework_1.py index 014790d..65e3ba6 100644 --- a/students/km62/Shevchenko_Nikita/homework_1.py +++ b/students/km62/Shevchenko_Nikita/homework_1.py @@ -9,10 +9,11 @@ """ - +#input------------------------------------------------------------------ a = int(input("Пожалуйста, введите первое число: ")) b = int(input("Пожалуйста, введите второе число: ")) c = int(input("Пожалуйста, введите третье число: ")) +#output----------------------------------------------------------------- print("Сумма Ваших чисел: ",a + b + c) #----------------------------------------------------------------------------------- @@ -28,9 +29,10 @@ """ - +#input------------------------------------------------------------------ b = int(input("Введите сторону: ")) h = int(input("Введите высоту: ")) +#output----------------------------------------------------------------- print(b*h/2) #---------------------------------------------------------------------------------- @@ -48,18 +50,20 @@ """ - +#input------------------------------------------------------------------ students = int(input("Введите количество студентов")) apples = int(input("Введите количество яблок")) +#main------------------------------------------------------------------- every = apples // students rem = apples % students +#output----------------------------------------------------------------- print(every) print(rem) -#----------------------------------------------------------------------------------- +#----------------------------------------------------------------------- -#Задача №4----------------------------------------------------------------------------------------- +#Задача №4-------------------------------------------------------------- """ Умова: Нехай число N - кількість хвилин, відрахованих після півночі. Скільки годин і хвилин буде показувати цифровий годинник, якщо за відлік взяти 00:00? @@ -71,12 +75,14 @@ """ - +#input------------------------------------------------------------------ minutes = int(input("Введите минуты: ")) +#main------------------------------------------------------------------- period = minutes//1440 minutes = minutes - period*1440 hours = minutes//60 newMinutes = minutes - hours*60 +#output----------------------------------------------------------------- print(hours) print(newMinutes) @@ -93,14 +99,15 @@ """ - +#input------------------------------------------------------------------ name = input() +#output----------------------------------------------------------------- print("Hello, "+name+"!") -#---------------------------------------------------------------------------------- +#----------------------------------------------------------------------- -#Задача №6------------------------------------------------------------------------- +#Задача №6-------------------------------------------------------------- """ Умова: Напишіть програму, яка зчитує ціле число і друкує його попереднє і наступне значення за форматом: @@ -113,12 +120,13 @@ """ - +#input------------------------------------------------------------------ integer = int(input()) +#output----------------------------------------------------------------- print("The next number for the number",str(integer),"is",str(integer+1)+".") print("The previous number for the number",str(integer),"is",str(integer-1)+".") -#---------------------------------------------------------------------------------- +#----------------------------------------------------------------------- #Задача №7------------------------------------------------------------------------- @@ -131,16 +139,18 @@ """ - +#input------------------------------------------------------------------ firstGroup = int(input("Введите количество учеников первой группы: ")) secondGroup = int(input("Введите количество учеников второй группы: ")) thirdGroup = int(input("Введите количество учеников третьей группы: ")) +#main------------------------------------------------------------------- firstPar = firstGroup%2 secondPar = secondGroup%2 thirdPar = thirdGroup%2 firstGroupDesks = firstGroup//2+firstPar secondGroupDesks = secondGroup//2+secondPar thirdGroupDesks = thirdGroup//2+thirdPar +#output----------------------------------------------------------------- print(firstGroupDesks + secondGroupDesks + thirdGroupDesks) -#-------------------------------------------------------------------------------------------------- +#----------------------------------------------------------------------- From f640282e8d3316600fb524ded429fc7e821b40a2 Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 20 Oct 2016 20:11:47 +0300 Subject: [PATCH 04/12] Update homework_2.py --- students/km62/Shevchenko_Nikita/homework_2.py | 80 +++++++++++-------- 1 file changed, 46 insertions(+), 34 deletions(-) diff --git a/students/km62/Shevchenko_Nikita/homework_2.py b/students/km62/Shevchenko_Nikita/homework_2.py index e799975..f13636f 100644 --- a/students/km62/Shevchenko_Nikita/homework_2.py +++ b/students/km62/Shevchenko_Nikita/homework_2.py @@ -1,4 +1,4 @@ -#Задача №1 --------------------------------------------------------------------------------------- +#Задача №1 ------------------------------------------------------------- """ Умова: Дано два цілих числа. Вивести найменше з них. @@ -9,18 +9,19 @@ """ - +#input------------------------------------------------------------------ integer1 = int(input()) integer2 = int(input()) +#output----------------------------------------------------------------- if(integer1 > integer2): print(integer2) else: print(integer1) -#-------------------------------------------------------------------------------------------------- +#----------------------------------------------------------------------- -#Задача №2----------------------------------------------------------------------------------------- +#Задача №2-------------------------------------------------------------- """ Умова: Вивести результат функціїsign(x), що визначається наступним чином: sign(x) = 1, if x > 0, @@ -33,7 +34,7 @@ """ - +#main------------------------------------------------------------------- def sign(x): if(x > 0): print(1) @@ -41,16 +42,15 @@ def sign(x): print(-1) else: print(0) +#input------------------------------------------------------------------ a = int(input()) sign(a) -#-------------------------------------------------------------------------------------------------- +#----------------------------------------------------------------------- -#Задача №3----------------------------------------------------------------------------------------- +#Задача №3-------------------------------------------------------------- """ -Задача №3 - Умова: Дано три цілих числа. Вивести найменше з них. Вхідні дані: 3 цілих числа. Кожне число користувач вводить в окремому рядку. @@ -59,11 +59,12 @@ def sign(x): """ - +#input------------------------------------------------------------------ a = int(input()) b = int(input()) c = int(input()) -if(a < b): +#main------------------------------------------------------------------- +if(a <= b): minimum = a elif(b < a): minimum = b @@ -71,10 +72,10 @@ def sign(x): minimum = c print(minimum) -#-------------------------------------------------------------------------------------------------- +#----------------------------------------------------------------------- -#Задача №4----------------------------------------------------------------------------------------- +#Задача №4-------------------------------------------------------------- """ Умова: Дано ціле число, що визначає рік. Визначити, чи є вказаний рік високосним. Якщо так, то вивести користувачу "LEAP", в іншому випадку – "СOMMON". @@ -88,11 +89,13 @@ def sign(x): """ - +#input------------------------------------------------------------------ a = int(input()) +#main------------------------------------------------------------------- if(a%100 == 0): a = a/100 if(a%4 == 0): +#output----------------------------------------------------------------- print("LEAP") else: print("COMMON") @@ -111,22 +114,23 @@ def sign(x): """ - +#input------------------------------------------------------------------ a = int(input()) b = int(input()) c = int(input()) +#main------------------------------------------------------------------- if(a == b and b == c and a == c): answer=3 elif(a == b or b==c or a == c): answer=2 else: answer=0 +#output----------------------------------------------------------------- print (answer) -#-------------------------------------------------------------------------------------------------- - +#----------------------------------------------------------------------- -#Задача №6----------------------------------------------------------------------------------------- +#Задача №6-------------------------------------------------------------- """ Умова: Шахова тура переміщається по горизонталі або по вертикалі. Дано координати двох клітин шахової дошки. Визначити, чи може тура перейти з першої клітини у другу за один хід. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо тура може виконати переміщення, або "NO" в іншому випадку. @@ -136,20 +140,21 @@ def sign(x): """ - +#input------------------------------------------------------------------ column1 = int(input()) row1 = int(input()) column2 = int(input()) row2 = int(input()) +#output----------------------------------------------------------------- if(column1 == column2 or row1==row2): print("YES"); else: print("NO"); -#-------------------------------------------------------------------------------------------------- +#----------------------------------------------------------------------- -#Задача №7----------------------------------------------------------------------------------------- +#Задача №7-------------------------------------------------------------- """ Умова: Дано координати двох клітин шахової дошки. Визначити, чи однакового вони кольору. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо колір однаковий, або "NO" в іншому випадку. @@ -159,11 +164,12 @@ def sign(x): """ - +#input------------------------------------------------------------------ column1 = int(input()) row1 = int(input()) column2 = int(input()) row2 = int(input()) +#main------------------------------------------------------------------- if(column1 % 2 != 0): if(row1 % 2 == 0): firstCell = "Black" @@ -184,15 +190,16 @@ def sign(x): secondCell = "Black" elif(row2 % 2 == 0): secondCell = "White" -if(firstCell == secondCell): +if(firstCell == secondCell): +#output----------------------------------------------------------------- print('YES') else: print('NO') -#-------------------------------------------------------------------------------------------------- +#----------------------------------------------------------------------- -#Задача №8----------------------------------------------------------------------------------------- +#Задача №8-------------------------------------------------------------- """ Умова: Шаховий король переміщується по горизонталі, по вертикалі або по діагоналі на будь-яку сусідню клітинку. Дано координати двох клітин шахової дошки. Визначити, чи може король перейти з першої клітини у другу за один хід. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. Вхідні дані: 4 цілих числа. Кожне число користувач вводить в окремому рядку. @@ -200,11 +207,12 @@ def sign(x): """ - +#input------------------------------------------------------------------ column1 = int(input()) row1 = int(input()) column2 = int(input()) row2 = int(input()) +#main------------------------------------------------------------------- if(column1 - column2 == 1 or column1 - column2 == 0 or column1 - column2 == -1): if(row1-row2==1 or row1-row2 ==0 or row1-row2 == -1): print("YES") @@ -226,19 +234,20 @@ def sign(x): """ - +#input------------------------------------------------------------------ column1 = int(input()) row1 = int(input()) column2 = int(input()) row2 = int(input()) +#main------------------------------------------------------------------- if(abs(column2-column1) == abs(row2-row1)): print("YES") else: print("NO") -#-------------------------------------------------------------------------------------------------- +#----------------------------------------------------------------------- -#Задача №10----------------------------------------------------------------------------------------- +#Задача №10------------------------------------------------------------- """ Умова: Шахова королева рухається по горизонталі, по вертикалі або по діагоналі на будь-яку кількість клітин. Дано координати двох клітин шахової дошки. Визначити, чи може королева перейти з першої клітини у другу за один хід. Користувач вводить чотири цілих числа від 1 до 8, кожне з яких визначає номер рядку та стовпчика клітини. Перші два числа - для першої клітини, останні два числа – для другої. Програма має вивести "YES", якщо хід можливий, або "NO" в іншому випадку. @@ -248,11 +257,12 @@ def sign(x): """ - +#input------------------------------------------------------------------ column1 = int(input()) row1 = int(input()) column2 = int(input()) row2 = int(input()) +#main------------------------------------------------------------------- if(abs(column2-column1) == abs(row2-row1)): print("YES") elif(column1 == column2 or row1 == row2): @@ -271,11 +281,12 @@ def sign(x): """ - +#input------------------------------------------------------------------ column1 = int(input()) row1 = int(input()) column2 = int(input()) row2 = int(input()) +#main------------------------------------------------------------------- if(abs(column1-column2) == 1 and abs(row1-row2) == 2 or abs(column1-column2) == 2 and abs(row1-row2) == 1): print("YES") else: @@ -284,7 +295,7 @@ def sign(x): #-------------------------------------------------------------------------------------------------- -#Задача №12----------------------------------------------------------------------------------------- +#Задача №12------------------------------------------------------------- """ Умова: Шоколад має форму прямокутника, розділеного на n×m клітин. Шоколад може бути розділений на дві частини тільки по горизонталі або по вертикалі, при цьому клітини мають бути цілими. Визначити, чи можна розділити шоколад за один крок таким чином, щоб одна з частин матиме точно k клітин. Програма має вивести "YES", якщо шоколад можна поділити, або "NO" в іншому випадку. @@ -294,13 +305,14 @@ def sign(x): """ - +#input------------------------------------------------------------------ width = int(input()) height = int(input()) piece = int(input()) +#main------------------------------------------------------------------- if((width*height - piece) >= 0 and (width*height - piece)%width == 0 or (width*height - piece) >= 0 and (width*height - piece)%height == 0): print("YES") else: print("NO") -#-------------------------------------------------------------------------------------------------- +#----------------------------------------------------------------------- From b57d7f8708f96f83bf168053ee56c82603cd0e6b Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 20 Oct 2016 20:23:11 +0300 Subject: [PATCH 05/12] Update homework_3.py --- students/km62/Shevchenko_Nikita/homework_3.py | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/students/km62/Shevchenko_Nikita/homework_3.py b/students/km62/Shevchenko_Nikita/homework_3.py index c66c34c..20ce317 100644 --- a/students/km62/Shevchenko_Nikita/homework_3.py +++ b/students/km62/Shevchenko_Nikita/homework_3.py @@ -5,9 +5,10 @@ """ - +#input------------------------------------------------------------------ a = int(input("Введите меньшее число: ")) b = int(input("Введите большее число: ")) +#output----------------------------------------------------------------- for i in range(a,b+1): print (i) @@ -22,9 +23,10 @@ """ - +#input------------------------------------------------------------------ a = int(input("Введите первое число")) b = int(input("Введите второе число")) +#main------------------------------------------------------------------- if(a > b): for i in range(a,b-1,-1): print(i) @@ -42,11 +44,12 @@ """ - +#input------------------------------------------------------------------ a = int(input()) k = a%2 a = a+k-1 b = int(input()) +#output----------------------------------------------------------------- for i in range(a,b-1,-2): print(i) @@ -59,7 +62,9 @@ """ - +#input------------------------------------------------------------------ +a = int(input()) +#main------------------------------------------------------------------- sum = 0 for i in range(10): sum += int(input()) @@ -78,9 +83,12 @@ sum = 0 +#input------------------------------------------------------------------ n = int(input()) +#main------------------------------------------------------------------- for i in range(n): sum += int(input()) +#output----------------------------------------------------------------- print(sum) #-------------------------------------------------------------------------------------------------- @@ -92,9 +100,10 @@ """ - +#input------------------------------------------------------------------ sum = 0 n = int(input()) +#main------------------------------------------------------------------- for i in range(n+1): sum+= i**3 print(sum) @@ -112,7 +121,9 @@ mult = 1 +#input------------------------------------------------------------------ n = int(input()) +#main------------------------------------------------------------------- for i in range(1,n+1): mult *= i print(mult) @@ -130,7 +141,9 @@ sum = 0 mult = 1 +#input------------------------------------------------------------------ n = int(input()) +#main------------------------------------------------------------------- for i in range(1,n+1): mult *= i sum+=mult @@ -149,7 +162,9 @@ counter=0 +#input------------------------------------------------------------------ n = int(input()) +#main------------------------------------------------------------------- for i in range(n): if(int(input()) == 0): counter = counter + 1 @@ -163,8 +178,9 @@ """ - +#input------------------------------------------------------------------ n = int(input()) +#main------------------------------------------------------------------- for i in range(n): for a in range(i+1): print(a+1,end='') @@ -183,7 +199,9 @@ div = 0 sum = 0 +#input------------------------------------------------------------------ n = int(input()) +#main------------------------------------------------------------------- for i in range(n-1): sum += int(input()) for i in range(n+1): From 2772f91464c4333c9a632c69c11e507c1da2879c Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 20 Oct 2016 20:24:18 +0300 Subject: [PATCH 06/12] Add files via upload --- students/km62/Shevchenko_Nikita/homework_4.py | 365 ++++++++++++++++++ 1 file changed, 365 insertions(+) create mode 100644 students/km62/Shevchenko_Nikita/homework_4.py diff --git a/students/km62/Shevchenko_Nikita/homework_4.py b/students/km62/Shevchenko_Nikita/homework_4.py new file mode 100644 index 0000000..954effa --- /dev/null +++ b/students/km62/Shevchenko_Nikita/homework_4.py @@ -0,0 +1,365 @@ +#Задача №1 ------------------------------------------------------------- +""" +По данному целому числу N распечатайте все квадраты натуральных чисел, +не превосходящие N, в порядке возрастания. +""" + + + +n = int(input()) +i=1 +while(i**2 <= n): + print(i**2,end=' ') + i = i + 1 +#----------------------------------------------------------------------- + + +#Задача №2-------------------------------------------------------------- +""" +Дано целое число, не меньшее 2. +Выведите его наименьший натуральный делитель, отличный от 1. +""" + + + +i = 2 +n = int(input()) +while(i <= n): + if n%i==0: + print(i) + break + i = i + 1 +#----------------------------------------------------------------------- + + +#Задача №3-------------------------------------------------------------- +""" +Задача №3 +По данному натуральному числу N найдите наибольшую целую степень двойки, +не превосходящую N. Выведите показатель степени и саму степень. + +Операцией возведения в степень пользоваться нельзя! +""" + + + +n = int(input()) +i = 1 +p = 2 +while(p <= n): + if(p*2 <= n): + p *= 2 + i = i + 1 + else: + break +print(i,p) + +#----------------------------------------------------------------------- + + +#Задача №4-------------------------------------------------------------- +""" +ДВ первый день спортсмен пробежал x километров, а затем он каждый день +увеличивал пробег на 10% от предыдущего значения. По данному числу y +определите номер дня, на который пробег спортсмена составит не менее y +километров. + +Программа получает на вход действительные числа x и y и должна вывести +одно натуральное число. +""" + + + +x = int(input()) +y = int(input()) +counter = 0 +while(x < y): + counter +=1 + x += x*0.1 +print(counter+1) + +#----------------------------------------------------------------------- + + +#Задача №5-------------------------------------------------------------- +""" +Вклад в банке составляет x рублей. Ежегодно он увеличивается на p +процентов, после чего дробная часть копеек отбрасывается. Определите, +через сколько лет вклад составит не менее y рублей. + +Выражение «дробная часть копеек отбрасывается» означает, что если у вас +оказалось 123.4567 рублей, т. е. 123 рубля и 45.67 копеек, то после +округления у вас получится 123 рубля и 45 копеек, т.е. 123.45 рублей. + +Программа получает на вход три натуральных числа: x, p, y и должна +вывести одно целое число. +""" + + + +x=float(input()) +p=int(input()) +y=int(input()) + +i=0 +while x prev): + prev = n + counter += 1 + else: + prev = n + else: + break +print(counter-1) + +#----------------------------------------------------------------------- +#Задача №13------------------------------------------------------------- +""" +Последовательность состоит из различных натуральных чисел и завершается +числом 0. Определите значение второго по величине элемента в этой +последовательности. Гарантируется, что в последовательности есть хотя +бы два элемента. +""" + + + +max = 0 +notmax = 0 +while True: + n = int(input()) + if(n != 0): + if(n > max): + notmax = max + max = n + if(n > notmax and n < max): + notmax = n + else: + break +print(notmax) + +#----------------------------------------------------------------------- +#Задача №14------------------------------------------------------------- +""" +Последовательность состоит из натуральных чисел и завершается числом 0. +Определите, сколько элементов этой последовательности равны ее +наибольшему элементу. +""" + + + +counter = 1 +max = 0 +while True: + n = int(input()) + if(n != 0): + if(n == max): + counter += 1 + if(max < n): + counter = 1 + max = n + else: + break +print(counter) + +#----------------------------------------------------------------------- +#Задача №15------------------------------------------------------------- +""" +Определите количество четных элементов в последовательности, +завершающейся числом 0. +""" + + + +counter = 0 +while True: + x = int(input()) + if(x != 0): + if(x % 2 == 0): + counter += 1 + else: + break +print(counter) + +#----------------------------------------------------------------------- + +#Задача №18------------------------------------------------------------- +""" +Дана последовательность натуральных чисел x1x1, x2x2, ..., xnxn. Стандартным отклонением называется величина +σ=(x1−s)2+(x2−s)2+…+(xn−s)2n−1‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√ +σ=(x1−s)2+(x2−s)2+…+(xn−s)2n−1 +где s=x1+x2+…+xnns=x1+x2+…+xnn — среднее арифметическое последовательности. + +Определите стандартное отклонение для данной последовательности натуральных чисел, завершающейся числом 0. +""" + + + +import math +variables = [] +sm = 0 +ssq = 0 +while True: + n = int(input()) + if(n==0): + break; + variables.append(n) +for i in range(len(variables)): + sm+=variables[i-1] +s = sm/len(variables) +for i in range(len(variables)): + ssq += (variables[i]-s)**2 +divis = ssq/(len(variables)-1) +answer = math.sqrt(divis) +print(answer) +#----------------------------------------------------------------------- From 03f5e10b81144d1f8dd1b0721950399d5dce0dc3 Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 3 Nov 2016 22:36:48 +0200 Subject: [PATCH 07/12] Update homework_1.py --- students/km62/Shevchenko_Nikita/homework_1.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/students/km62/Shevchenko_Nikita/homework_1.py b/students/km62/Shevchenko_Nikita/homework_1.py index 65e3ba6..d8c1b5f 100644 --- a/students/km62/Shevchenko_Nikita/homework_1.py +++ b/students/km62/Shevchenko_Nikita/homework_1.py @@ -10,11 +10,11 @@ #input------------------------------------------------------------------ -a = int(input("Пожалуйста, введите первое число: ")) -b = int(input("Пожалуйста, введите второе число: ")) -c = int(input("Пожалуйста, введите третье число: ")) +a = int(input()) +b = int(input()) +c = int(input()) #output----------------------------------------------------------------- -print("Сумма Ваших чисел: ",a + b + c) +print(a + b + c) #----------------------------------------------------------------------------------- @@ -30,8 +30,8 @@ #input------------------------------------------------------------------ -b = int(input("Введите сторону: ")) -h = int(input("Введите высоту: ")) +b = int(input()) +h = int(input()) #output----------------------------------------------------------------- print(b*h/2) @@ -51,8 +51,8 @@ #input------------------------------------------------------------------ -students = int(input("Введите количество студентов")) -apples = int(input("Введите количество яблок")) +students = int(input()) +apples = int(input()) #main------------------------------------------------------------------- every = apples // students rem = apples % students @@ -76,7 +76,7 @@ #input------------------------------------------------------------------ -minutes = int(input("Введите минуты: ")) +minutes = int(input()) #main------------------------------------------------------------------- period = minutes//1440 minutes = minutes - period*1440 @@ -140,9 +140,9 @@ #input------------------------------------------------------------------ -firstGroup = int(input("Введите количество учеников первой группы: ")) -secondGroup = int(input("Введите количество учеников второй группы: ")) -thirdGroup = int(input("Введите количество учеников третьей группы: ")) +firstGroup = int(input()) +secondGroup = int(input()) +thirdGroup = int(input()) #main------------------------------------------------------------------- firstPar = firstGroup%2 secondPar = secondGroup%2 From 0e3f6197afa25999ad93f8c7b9a00dfa75c8b695 Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Fri, 4 Nov 2016 02:37:55 +0200 Subject: [PATCH 08/12] Add files via upload --- students/km62/Shevchenko_Nikita/homework_5.py | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 students/km62/Shevchenko_Nikita/homework_5.py diff --git a/students/km62/Shevchenko_Nikita/homework_5.py b/students/km62/Shevchenko_Nikita/homework_5.py new file mode 100644 index 0000000..e1c9dc7 --- /dev/null +++ b/students/km62/Shevchenko_Nikita/homework_5.py @@ -0,0 +1,94 @@ +#Задача №1 ------------------------------------------------------------------------ +""" +Даны четыре действительных числа: x1, y1, x2, y2. Напишите функцию distance(x1, y1, x2, y2), вычисляющая расстояние между точкой (x1,y1) и (x2,y2). +Считайте четыре действительных числа и выведите результат работы этой функции. +""" + + +#input------------------------------------------------------------------ +x1 = float(input()) +y1 = float(input()) +x2 = float(input()) +y2 = float(input()) +#main------------------------------------------------------------------- +import math +def distance(x1,y1,x2,y2): + print(round((math.sqrt((x2-x1)**2 + (y2-y1)**2)),5)) +#output----------------------------------------------------------------- +distance(x1,y1,x2,y2) + +#----------------------------------------------------------------------------------- + + +#Задача №2-------------------------------------------------------------------------- +""" +Дано действительное положительное число a и целоe число n. + +Вычислите an. Решение оформите в виде функции power(a, n). + +Стандартной функцией возведения в степень пользоваться нельзя. +""" + + +#input------------------------------------------------------------------ +x = float(input()) +y = int(input()) +#main------------------------------------------------------------------- +import math +def power(x,y): + z = 1 + for i in range(abs(y)): + z = z*x + if(y>=0): + print(z) + else: + print(1/z) +#output----------------------------------------------------------------- +power(x,y) + +#---------------------------------------------------------------------------------- + + +#Задача №3------------------------------------------------------------------------- +""" +Дано действительное положительное число a и целое неотрицательное число n. +Вычислите an не используя циклы, возведение в степень через ** и функцию math.pow(), а используя рекуррентное соотношение an=a⋅an-1. + +Решение оформите в виде функции power(a, n). +""" + + +#input------------------------------------------------------------------ +a = float(input()) +n = int(input()) +#main------------------------------------------------------------------- +def power(a,n): + ans=1 + for i in range(n): + ans=ans*a + print(ans) +#output----------------------------------------------------------------- +power(a,n) + +#----------------------------------------------------------------------- + + +#Задача №4-------------------------------------------------------------- +""" +Напишите функцию fib(n), которая по данному целому неотрицательному n возвращает n-e число Фибоначчи. +В этой задаче нельзя использовать циклы — используйте рекурсию. +""" + + +#input------------------------------------------------------------------ +n = int(input()) +#main------------------------------------------------------------------- +import math +def fib(n): + koren = math.sqrt(5) + sech = (koren + 1) / 2 + return int(sech ** n / koren + 0.5) +#output----------------------------------------------------------------- +print(fib(n)) + +#----------------------------------------------------------------------------------- From 6a4a65229580a375fc8b9a223d650edf527ce73e Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 24 Nov 2016 20:03:08 +0200 Subject: [PATCH 09/12] Nikita Shevchenko With love --- .../km62/Shevchenko_Nikita/homework#_7.py | 202 ++++++++++++ .../km62/Shevchenko_Nikita/homework_#6.py | 311 ++++++++++++++++++ 2 files changed, 513 insertions(+) create mode 100644 students/km62/Shevchenko_Nikita/homework#_7.py create mode 100644 students/km62/Shevchenko_Nikita/homework_#6.py diff --git a/students/km62/Shevchenko_Nikita/homework#_7.py b/students/km62/Shevchenko_Nikita/homework#_7.py new file mode 100644 index 0000000..34d944b --- /dev/null +++ b/students/km62/Shevchenko_Nikita/homework#_7.py @@ -0,0 +1,202 @@ +#task1------------------------------------------------------------ +""" +Найдите индексы первого вхождения максимального элемента. Выведите два числа: номер строки и номер столбца, в которых стоит наибольший элемент в двумерном массиве. Если таких элементов несколько, то выводится тот, у которого меньше номер строки, а если номера строк равны то тот, у которого меньше номер столбца. + +Программа получает на вход размеры массива n и m, затем n строк по m чисел в каждой. +""" + + +#default +massive=[] +maxweight=0 +maxheight=0 +#input blok +height,weight = input().split() + +for i in range(int(height)): + massive.append(input().split())#making of 2d massive + +for i in range(int(height)):#iterator of lines + for j in range(int(weight)):#iterator of columns + if int(massive[i][j])>int(massive[maxheight][maxweight]):#operation of 'porivnyannya' + maxheight=i + maxweight=j +print(maxheight,maxweight)#print of result + +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Дано нечетное число n. Создайте двумерный массив из n×n элементов, +заполнив его символами "." (каждый элемент массива является строкой из одного символа). +Затем заполните символами "*" среднюю строку массива, средний столбец массива, главную диагональ и побочную диагональ. +В результате единицы в массиве должны образовывать изображение звездочки. +Выведите полученный массив на экран, разделяя элементы массива пробелами. + +""" + + + +number = int(input()) + +list_=[['.'] * number for i in range(number)] +for i in range(number): + for j in range(number): + if i == ( number // 2 ) : + list_[i][j]='*' + if j == ( number // 2 ) : + list_[i][j]='*' + if i==j: + list_[i][j]='*' + if (i+j)==number-1: + list_[i][j]='*' + +for i in range(number): + print() + for j in range(number): + print(list_[i][j],end=' ') + +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Даны два числа n и m. Создайте двумерный массив размером n×m +и заполните его символами "." и "*" в шахматном порядке. +В левом верхнем углу должна стоять точка. +""" + + + +def list_create(n,m,list_):#creating o list + for i in range(int(n)): + list_.append(('. '*int(m)).split()) + return list_ +#default +list_=[] +#input +n,m=input().split() +#main +list_=list_create(n,m,list_) + +for i in range(int(n)): + if i%2!=0: + for j in range(0,int(m),2): + list_[i][j]='*' + else: + for j in range(1,int(m),2): + list_[i][j]='*' +#print +for i in range(int(n)): + if i!=0: + print() + for j in range(int(m)): + print(list_[i][j],end=' ') + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Дано число n. Создайте массив размером n×n и заполните его по следующему правилу. +На главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. +На следующих двух диагоналях числа 2, и т.д. +""" + + + +def print_array(array): + for str in array: + print() + for elem in str: + print(elem,end=' ') +n=int(input()) + +array=[[0] * n for i in range(n)] + + +for k in range(n): + for i in range(n): + for j in range(n): + if in-1: + list_[i][j]=2 +#print +for i in range(n): + if i!=0: + print() + for j in range(n): + print(list_[i][j], end=' ') + +#----------------------------------------------------------------- + + +#task6------------------------------------------------------------ +""" +Дан двумерный массив и два числа: i и j. Поменяйте в массиве столбцы с номерами i и j и выведите результат. + +Программа получает на вход размеры массива n и m, затем элементы массива, затем числа i и j. + +Решение оформите в виде функции swap_columns(a, i, j). +""" + + + +def swap_columns(a, i, j): + for k in range(n): + a[k][j],a[k][i]=a[k][i],a[k][j] + return a +def print_array(array): + for str in array: + print() + for elem in str: + print(elem,end=' ') +n,m=input().split() +n,m=int(n),int(m) +array=[input().split() for i in range(n)] +i,j=input().split() +i,j=int(i),int(j) +print_array(swap_columns(array,i,j)) + +#----------------------------------------------------------------- + + diff --git a/students/km62/Shevchenko_Nikita/homework_#6.py b/students/km62/Shevchenko_Nikita/homework_#6.py new file mode 100644 index 0000000..3b0d6e5 --- /dev/null +++ b/students/km62/Shevchenko_Nikita/homework_#6.py @@ -0,0 +1,311 @@ +#task1------------------------------------------------------------ +""" +Выведите все элементы списка с четными индексами (то есть A[0], A[2], A[4], ...). +""" + + + +# +def number_list(): + a = input().split() + for i in range(len(a)): + a[i] = int(a[i]) + if i%2==0: + print(a[i]) +number_list() +#----------------------------------------------------------------- + + +#task2------------------------------------------------------------ +""" +Выведите все четные элементы списка. При этом используйте цикл for, перебирающий элементы списка, а не их индексы! +""" + + + +# +def number_list(): + a = input().split() + for i in range(len(a)): + a[i] = int(a[i]) + if a[i]%2==0: + print(a[i]) +number_list() +#----------------------------------------------------------------- + + +#task3------------------------------------------------------------ +""" +Дан список чисел. Выведите все элементы списка, которые больше предыдущего элемента. +""" + + + +# +def number_list(): + a = input().split() + for i in range(len(a)): + a[i] = int(a[i]) + k=i-1 + if i>=1 and a[i]>a[i-1]: + print(a[i]) +number_list() + +#----------------------------------------------------------------- + + + +#task4------------------------------------------------------------ +""" +Дан список чисел. Если в нем есть два соседних элемента одного знака, выведите эти числа. Если соседних элементов одного знака нет — не выводите ничего. Если таких пар соседей несколько — выведите первую пару. +""" + + + +# +def number_list(): + a = input().split() + for i in range(len(a)): + a[i] = int(a[i]) + if i>=1: + if a[i] > 0 and a[i-1] > 0: + print(a[i-1],a[i]) + break + elif a[i] < 0 and a[i-1] < 0: + print(a[i-1],a[i]) + break +number_list() +#----------------------------------------------------------------- + +#task5------------------------------------------------------------ +""" +Дан список чисел. Определите, сколько в этом списке элементов, которые больше двух своих соседей, и выведите количество таких элементов. Крайние элементы списка никогда не учитываются, поскольку у них недостаточно соседей. +""" + + + +# +a = [int(s) for s in input().split()] +k=0 +for i in range(1,(len(a)-1)): + if a[i-1] < a[i] and a[i] > a[i+1]: + k+=1 +print(k) +#----------------------------------------------------------------- + +#task6------------------------------------------------------------ +""" +Дан список чисел. Выведите значение наибольшего элемента в списке, а затем индекс этого элемента в списке. Если наибольших элементов несколько, выведите индекс первого из них. +""" + + + +# +a = [int(s) for s in input().split()] +print(max(a), a.index(max(a))) +#----------------------------------------------------------------- + +#task7------------------------------------------------------------ +""" +Петя перешёл в другую школу. На уроке физкультуры ему понадобилось определить своё место в строю. Помогите ему это сделать. + +Программа получает на вход невозрастающую последовательность натуральных чисел, означающих рост каждого человека в строю. После этого вводится число X – рост Пети. Все числа во входных данных натуральные и не превышают 200. + +Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом, таким же, как у Пети, то он должен встать после них. +""" + + + +# +a = [int(s) for s in input().split()] +b = int(input()) +i=0 +k=1 +while a[i] >= b: + k+=1 + i+=1 + if i >= len(a): + k=len(a)+1 + break +print(k) +#----------------------------------------------------------------- + +#task8------------------------------------------------------------ +""" +Дан список, упорядоченный по неубыванию элементов в нем. Определите, сколько в нем различных элементов. +""" + + + +# +a = [int(i) for i in input().split()] +n = 1 +for i in range(0, len(a) - 1): + if a[i] != a[i + 1]: + n += 1 +print(n) +#----------------------------------------------------------------- + +#task9------------------------------------------------------------ +""" +Переставьте соседние элементы списка (A[0] c A[1], A[2] c A[3] и т. д.). Если элементов нечетное число, то последний элемент остается на своем месте. +""" + + + +# +a = [int(s) for s in input().split()] +b = [] +i=1 +if len(a)%2==0: + for j in range(len(a)-1): + if i >= len(a): + break + b.append(a[i]) + b.append(a[i-1]) + i+=2 +elif len(a) == 1: + print(a[0]) +else: + for j in range(len(a)-1): + if i >= len(a): + b.append(a[len(a)-1]) + break + b.append(a[i]) + b.append(a[i-1]) + i+=2 +print(' '.join([str(l) for l in b])) +#----------------------------------------------------------------- + +#task10------------------------------------------------------------ +""" +В списке все элементы различны. Поменяйте местами минимальный и максимальный элемент этого списка. +""" + + + +# +a = list(map(int, input().split())) +min, max = min(a), max(a) +i, j = a.index(min), a.index(max) +a[i], a[j] = max, min +print(' '.join(map(str, a))) +#----------------------------------------------------------------- + +#task11------------------------------------------------------------ +""" +Дан список из чисел и индекс элемента в списке k. Удалите из списка элемент с индексом k, сдвинув влево все элементы, стоящие правее элемента с индексом k. + +Программа получает на вход список, затем число k. Программа сдвигает все элементы, а после этого удаляет последний элемент списка при помощи метода pop() без параметров. + +Программа должна осуществлять сдвиг непосредственно в списке, а не делать это при выводе элементов. Также нельзя использовать дополнительный список. Также не следует использовать метод pop(k) с параметром. +""" + + + +# +a = [int(s) for s in input().split()] +k = int (input()) +del a[k] +print(' '.join([str(l) for l in a])) +#----------------------------------------------------------------- + +#task12------------------------------------------------------------ +""" +Дан список целых чисел, число k и значение C. Необходимо вставить в список на позицию с индексом k элемент, равный C, сдвинув все элементы, имевшие индекс не менее k, вправо. + +Посколько при этом количество элементов в списке увеличивается, после считывания списка в его конец нужно будет добавить новый элемент, используя метод append. + +Вставку необходимо осуществлять уже в считанном списке, не делая этого при выводе и не создавая дополнительного списка. +""" + + + +# +a = [int(s) for s in input().split()] +b = [int(i) for i in input().split()] +k = b[0] +a.insert(k, b[1]) +print(' '.join([str(l) for l in a])) +#----------------------------------------------------------------- + +#task13------------------------------------------------------------ +""" +Дан список чисел. Посчитайте, сколько в нем пар элементов, равных друг другу. Считается, что любые два элемента, равные друг другу образуют одну пару, которую необходимо посчитать. +""" + + + +# +a = [int(s) for s in input().split()] +c = 0; +for i in a: + for j in a: + if i == j: + c+=1 + c-=1 +print (c // 2) +#----------------------------------------------------------------- + +#task14------------------------------------------------------------ +""" +Дан список. Выведите те его элементы, которые встречаются в списке только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке. +""" + + + +# +a = [int(s) for s in input().split()] +for i in range(len(a)): + if a.count(a[i])==1: + print(a[i], end = ' ') +#----------------------------------------------------------------- + +#task15------------------------------------------------------------ +""" +N кеглей выставили в один ряд, занумеровав их слева направо числами от 1 до N. Затем по этому ряду бросили K шаров, при этом i-й шар сбил все кегли с номерами от li до ri включительно. Определите, какие кегли остались стоять на месте. + +Программа получает на вход количество кеглей N и количество бросков K. Далее идет K пар чисел li, ri, при этом 1≤ li≤ ri≤ N. + +Программа должна вывести последовательность из N символов, где j-й символ есть “I”, если j-я кегля осталась стоять, или “.”, если j-я кегля была сбита. +""" + + + +# +n, k = input().split() +x = ['I' for a in range(int(n))] +for i in range(int(k)): + l, r = [int(a) for a in input().split()] + for j in range(l-1,r): + x[j] = '.' +print(''.join(x)) +#----------------------------------------------------------------- + +#task16------------------------------------------------------------ +""" +Известно, что на доске 8×8 можно расставить 8 ферзей так, чтобы они не били друг друга. Вам дана расстановка 8 ферзей на доске, определите, есть ли среди них пара бьющих друг друга. + +Программа получает на вход восемь пар чисел, каждое число от 1 до 8 — координаты 8 ферзей. Если ферзи не бьют друг друга, выведите слово NO, иначе выведите YES. +""" + + + +# +a = [[int(i) for i in input().split()] for j in range(8)] +flag = 0 +for i in range(8): + for j in range(i + 1, 8): + if a[i][0] == a[j][0] or a[i][1] == a[j][1] or ( + abs(a[i][0] - a[j][0]) == abs(a[i][1] - a[j][1])): + print("YES") + flag = 1 + break + if flag: + break +else: + print("NO") +#----------------------------------------------------------------- + + + From 08bbfedad396d075dac5ecac7a70aba54d335644 Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 1 Dec 2016 21:32:44 +0200 Subject: [PATCH 10/12] Update and rename homework#_7.py to homework_7.py --- .../{homework#_7.py => homework_7.py} | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename students/km62/Shevchenko_Nikita/{homework#_7.py => homework_7.py} (93%) diff --git a/students/km62/Shevchenko_Nikita/homework#_7.py b/students/km62/Shevchenko_Nikita/homework_7.py similarity index 93% rename from students/km62/Shevchenko_Nikita/homework#_7.py rename to students/km62/Shevchenko_Nikita/homework_7.py index 34d944b..50bdf14 100644 --- a/students/km62/Shevchenko_Nikita/homework#_7.py +++ b/students/km62/Shevchenko_Nikita/homework_7.py @@ -14,14 +14,14 @@ height,weight = input().split() for i in range(int(height)): - massive.append(input().split())#making of 2d massive + massive.append(input().split()) -for i in range(int(height)):#iterator of lines - for j in range(int(weight)):#iterator of columns - if int(massive[i][j])>int(massive[maxheight][maxweight]):#operation of 'porivnyannya' +for i in range(int(height)): + for j in range(int(weight)): + if int(massive[i][j])>int(massive[maxheight][maxweight]): maxheight=i maxweight=j -print(maxheight,maxweight)#print of result +print(maxheight,maxweight) #----------------------------------------------------------------- @@ -69,7 +69,7 @@ -def list_create(n,m,list_):#creating o list +def list_create(n,m,list_): for i in range(int(n)): list_.append(('. '*int(m)).split()) return list_ From c7d9a563f38f3ff0464c0a0ac12ec56ef28a757d Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 1 Dec 2016 21:34:53 +0200 Subject: [PATCH 11/12] Update and rename homework_#6.py to homework_6.py --- .../{homework_#6.py => homework_6.py} | 60 ------------------- 1 file changed, 60 deletions(-) rename students/km62/Shevchenko_Nikita/{homework_#6.py => homework_6.py} (96%) diff --git a/students/km62/Shevchenko_Nikita/homework_#6.py b/students/km62/Shevchenko_Nikita/homework_6.py similarity index 96% rename from students/km62/Shevchenko_Nikita/homework_#6.py rename to students/km62/Shevchenko_Nikita/homework_6.py index 3b0d6e5..7d039e0 100644 --- a/students/km62/Shevchenko_Nikita/homework_#6.py +++ b/students/km62/Shevchenko_Nikita/homework_6.py @@ -2,10 +2,6 @@ """ Выведите все элементы списка с четными индексами (то есть A[0], A[2], A[4], ...). """ - - - -# def number_list(): a = input().split() for i in range(len(a)): @@ -20,10 +16,6 @@ def number_list(): """ Выведите все четные элементы списка. При этом используйте цикл for, перебирающий элементы списка, а не их индексы! """ - - - -# def number_list(): a = input().split() for i in range(len(a)): @@ -38,10 +30,6 @@ def number_list(): """ Дан список чисел. Выведите все элементы списка, которые больше предыдущего элемента. """ - - - -# def number_list(): a = input().split() for i in range(len(a)): @@ -59,10 +47,6 @@ def number_list(): """ Дан список чисел. Если в нем есть два соседних элемента одного знака, выведите эти числа. Если соседних элементов одного знака нет — не выводите ничего. Если таких пар соседей несколько — выведите первую пару. """ - - - -# def number_list(): a = input().split() for i in range(len(a)): @@ -81,10 +65,6 @@ def number_list(): """ Дан список чисел. Определите, сколько в этом списке элементов, которые больше двух своих соседей, и выведите количество таких элементов. Крайние элементы списка никогда не учитываются, поскольку у них недостаточно соседей. """ - - - -# a = [int(s) for s in input().split()] k=0 for i in range(1,(len(a)-1)): @@ -113,10 +93,6 @@ def number_list(): Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом, таким же, как у Пети, то он должен встать после них. """ - - - -# a = [int(s) for s in input().split()] b = int(input()) i=0 @@ -134,10 +110,6 @@ def number_list(): """ Дан список, упорядоченный по неубыванию элементов в нем. Определите, сколько в нем различных элементов. """ - - - -# a = [int(i) for i in input().split()] n = 1 for i in range(0, len(a) - 1): @@ -150,10 +122,6 @@ def number_list(): """ Переставьте соседние элементы списка (A[0] c A[1], A[2] c A[3] и т. д.). Если элементов нечетное число, то последний элемент остается на своем месте. """ - - - -# a = [int(s) for s in input().split()] b = [] i=1 @@ -181,10 +149,6 @@ def number_list(): """ В списке все элементы различны. Поменяйте местами минимальный и максимальный элемент этого списка. """ - - - -# a = list(map(int, input().split())) min, max = min(a), max(a) i, j = a.index(min), a.index(max) @@ -200,10 +164,6 @@ def number_list(): Программа должна осуществлять сдвиг непосредственно в списке, а не делать это при выводе элементов. Также нельзя использовать дополнительный список. Также не следует использовать метод pop(k) с параметром. """ - - - -# a = [int(s) for s in input().split()] k = int (input()) del a[k] @@ -218,10 +178,6 @@ def number_list(): Вставку необходимо осуществлять уже в считанном списке, не делая этого при выводе и не создавая дополнительного списка. """ - - - -# a = [int(s) for s in input().split()] b = [int(i) for i in input().split()] k = b[0] @@ -233,10 +189,6 @@ def number_list(): """ Дан список чисел. Посчитайте, сколько в нем пар элементов, равных друг другу. Считается, что любые два элемента, равные друг другу образуют одну пару, которую необходимо посчитать. """ - - - -# a = [int(s) for s in input().split()] c = 0; for i in a: @@ -251,10 +203,6 @@ def number_list(): """ Дан список. Выведите те его элементы, которые встречаются в списке только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке. """ - - - -# a = [int(s) for s in input().split()] for i in range(len(a)): if a.count(a[i])==1: @@ -269,10 +217,6 @@ def number_list(): Программа должна вывести последовательность из N символов, где j-й символ есть “I”, если j-я кегля осталась стоять, или “.”, если j-я кегля была сбита. """ - - - -# n, k = input().split() x = ['I' for a in range(int(n))] for i in range(int(k)): @@ -288,10 +232,6 @@ def number_list(): Программа получает на вход восемь пар чисел, каждое число от 1 до 8 — координаты 8 ферзей. Если ферзи не бьют друг друга, выведите слово NO, иначе выведите YES. """ - - - -# a = [[int(i) for i in input().split()] for j in range(8)] flag = 0 for i in range(8): From 11ec79928296e517923be0b4ae52b3076f5e8733 Mon Sep 17 00:00:00 2001 From: NikitkaProgrammer Date: Thu, 1 Dec 2016 21:57:33 +0200 Subject: [PATCH 12/12] Add files via upload --- students/km62/Shevchenko_Nikita/homework_8.py | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 students/km62/Shevchenko_Nikita/homework_8.py diff --git a/students/km62/Shevchenko_Nikita/homework_8.py b/students/km62/Shevchenko_Nikita/homework_8.py new file mode 100644 index 0000000..386b21c --- /dev/null +++ b/students/km62/Shevchenko_Nikita/homework_8.py @@ -0,0 +1,74 @@ +#----------------------------------------------------------------------- +''' +Дано нечетное число n. Создайте двумерный массив из n×n элементов, +заполнив его символами "." (каждый элемент массива является строкой из +одного символа). Затем заполните символами "*" среднюю строку массива, +средний столбец массива, главную диагональ и побочную диагональ. В +результате единицы в массиве должны образовывать изображение звездочки. +Выведите полученный массив на экран, разделяя элементы массива пробелами. +''' +#input +num = int(input()) +#def +a = [['.'] * num for i in range(num)] +index = num//2 +for i in range(len(a)): + for j in range(len(a[i])): + if(i==index or j == index or i == j or i == num-j-1): + a[i][j] = '*' +#output +for lists in a: + for elem in lists: + print(elem,end=' ') + print() +#----------------------------------------------------------------------- +''' +Дано число n. Создайте массив размером n×n и заполните его +по следующему правилу. На главной диагонали должны быть записаны +числа 0. На двух диагоналях, прилегающих к главной, числа 1. На +следующих двух диагоналях числа 2, и т.д. +''' +#input +num = int(input()) +#def +a = [[0] * num for i in range(num)] +for i in range(len(a)): + for j in range(len(a[i])): + if(i == j): + a[i][j] = 0 + for c in range(num): + if(i == j-c or i == j+c): + a[i][j] = c +#output +for lists in a: + for elem in lists: + print(elem, end=' ') + print() +#----------------------------------------------------------------------- +''' +Дано число n. Создайте массив размером n×n и заполните его по следующему правилу: + +Числа на диагонали, идущей из правого верхнего в левый нижний угол равны 1. + +Числа, стоящие выше этой диагонали, равны 0. + +Числа, стоящие ниже этой диагонали, равны 2. + +Полученный массив выведите на экран. Числа в строке разделяйте одним пробелом. +''' +#input +num = int(input()) +#def +a = [[0]*num for i in range(num)] +for i in range(len(a)): + for j in range(len(a[i])): + if(i > num-j-1): + a[i][j] = 2 + if(i == num-j-1): + a[i][j] = 1 +#output +for lists in a: + for elem in lists: + print(elem, end = ' ') + print() +#-----------------------------------------------------------------------