Поиск в блоге

Гра Клікер-ферма - бізнес на полуниці

неділя, 26 липня 2020 р.

Наибольший общий делитель Python

Необходимо найти НОД двух чисел, используя алгоритм Евклида.

Формат входных данных

На вход подаются два натуральных числа, по числу в новой строке.

Формат выходных данных

Одно число - НОД входных чисел.

Примеры

ВводВывод
30
18
6

ВводВывод
1071
462
21

a=int(input())
b=int(input())

while b!=0:
   a,b=b,a%b
   nod=a
print(nod)

https://www.youtube.com/watch?v=n9oXAOvP3Xs

Задача Первое число трибоначчи, превосходящее заданное на Python

Числа трибоначчи - последовательность целых чисел {t }, заданная с помощью рекуррентного соотношения: t = 0, t = 0, t = 1 , t n+3 = t + t n+1 + t n+2 Нужно найти номер первого числа трибоначчи, превосходящего заданное. Нумерация начинается с .

Формат входных данных

Одно целое число.

Формат выходных данных

Одно число — номер первого числа трибоначчи, превосходящее заданное во входных данных число.

Примеры

ВводВывод
10
7

ВводВывод
0
2

ВводВывод
13
8

a=int(input())

N=20
n=0
t=[0]*N
while n<N-3:
   t[0]=0
   t[1]=0
   t[2]=1
   t[n+3]=t[n]+t[n+1]+t[n+2]
   if t[n]>a:
      print(n)
      break
   n+=1

Определение типа треугольника на Python

Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами.

Формат входных данных

Даны три натуральных числа – стороны треугольника. Каждое число вводится с новой строки.

Формат выходных данных

Необходимо вывести одно из слов: right для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, треугольника с такими сторонами не существует.

Примеры

ВводВывод
3
4
5
right

from math import *

a=int(input())
b=int(input())
c=int(input())
x=-(b*b-a*a-c*c)/(2*a*c)
y=(c+(b*b-a*a-c*c)/(2*c))/b
gama = pi-acos(x)-acos(y)
if a*a+b*b==c*c:
   print('right')
if gama<pi/2:
   print('acute')
elif gama>pi/2:
   print('obtuse')
if a+b<=c:
   print('impossible')

субота, 25 липня 2020 р.

Задачa D-Обработка массива чисел на Python

На вход программа получает набор чисел, заканчивающихся решеткой. Вам требуется найти: среднее, максимальное и минимальное число в последовательности. Так же нужно вывести cумму остатков от деления суммы троек на последнее число тройки (каждые 3 введеных числа образуют тройку).
Для понимания рассмотрим пример входных данных: 1 2 3 4 5 6 среднее: (1 + 2 + 3 + 4 + 5 + 6) / 6 = 3.5 максимум: 6 минимум: 1 сумма остатков троек: (1 + 2 + 3) mod 3 + (4 + 5 + 6) mod 6 = 6 mod 3 + 15 mod 6 = 0 + 3 = 3
Среднее выводить, округлив до трех знаков после запятой. Для этого нужно использовать функцию round(x, 3)
Того ваша программа должна вывести: 3.5 6 1 3
Подумайте, имеет ли смысл хранить всю последовательность.

Формат входных данных

Последовательность чисел, заканчивающися '#'. Все числа от 1 до 100. Количество чисел в последовательности кратно трем. Одно число на строку.

Формат выходных данных

Четыре числа, разделенных пробелом.

Примеры

ВводВывод
1
2
3
4
5
6
#
3.5 6 1 3

#N=int(input())
A=[0]*100
k=0
x=0
sum=0
max=0
min=0
srednee=0
sum_3=0
i=0
while i!='#':
    #print(i)
    i=input()
    if i!='#':
       A[k]=int(i)
    else:
        break
    k+=1
min=A[0]
while x<=k-1:
    sum+=A[x]
    if (x==k-1):
        print(x)
        srednee=round(sum/(x+1), 3)
    if(A[x]>A[x+1]):
       max = A[x]
    else:
       max = A[x+1]
    if A[x]<min:
       min = A[x]
    if x+2<=k-1 and x%3==0:
        print(A[x+2])
        sum_3 = (A[x]+A[x+1]+A[x+2])%A[x+2]
    x+=1
print(srednee)
print(max)
print(min)
print(sum_3)

пʼятниця, 24 липня 2020 р.

Задача A-Принадлежность точки кругу на Python

Даны координаты точки и радиус круга с центром в начале координат. Определить, принадлежит ли данная точка кругу. Напомним, что круг – это часть плоскости, состоящая из всех точек окружности и всех точек, лежащих внутри окружности.

Формат входных данных

Три целых числа на одной строке: координата точки по оси x, координата точки по оси y, радиус круга r (r > 0).

Формат выходных данных

Вывести "YES" без кавычек, если точка принадлежит кругу, "NO" без кавычек в противном случае.

Примеры

ВводВывод
0 0 1
YES

ВводВывод
-1 3 1
NO

x=int(input())
y=int(input())
r=int(input())
x0=0
y0=0
if x<=x0+r and y<=y0+r:
    print('YES')
else:
    print('NO')

Модель перевернутого маятника на Python

import graphics as gr
from math import *

window = gr.GraphWin("Модель перевернутого маятника", 800, 800)

len = 300

angle = pi/4

aVel = 0
aAcc = 0

aVel2=0
aAcc2=0

g = 9.8
m=0.5
M=1
b=m/(m+M)
j=m*len*len


#x=400
#y=50

x2=0
y2=0

def clear_window():
    rectangle = gr.Rectangle(gr.Point(0, 0), gr.Point(800, 800))
    rectangle.setFill('yellow')
    rectangle.draw(window)


while(True):
   clear_window()

   x1 = 400+len * sin(angle)
   y1 = 50+len * cos(angle)

   my_line = gr.Line(gr.Point(400+x2,360+y2), gr.Point(x1, y1))
   my_circle1 = gr.Circle(gr.Point(x1, y1), 10)
   #my_rectangle = gr.Rectangle(gr.Point(360, 360), gr.Point(440, 400))
   my_circle2 = gr.Circle(gr.Point(400+x2,360+y2), 20)

   my_line.draw(window)
   my_circle1.draw(window)
   my_circle2.draw(window)
   #my_rectangle.draw(window)

   angle+= aVel
   aVel+=aAcc
   aAcc = (g*sin(angle)+b*len*aVel*aVel*sin(angle)*cos(angle))/(len*(1+b*cos(angle)**2))
   x2+=aVel2
   aVel2+=aAcc2
   aAcc2=b*(len*aVel*aVel*sin(angle)-g*sin(angle)*cos(angle))/(1+b*cos(angle)**2)


https://habr.com/ru/post/472588/

Моделирование математического маятника на Python


import graphics as gr
from math import *

window = gr.GraphWin("Модель математического маятника", 800, 800)

len = 300
angle = pi/4
aVel = 0
aAcc = 0
g = 9.8
damping = 0.99

def clear_window():
    rectangle = gr.Rectangle(gr.Point(0, 0), gr.Point(800, 800))
    rectangle.setFill('yellow')
    rectangle.draw(window)


while(True):
   clear_window()

   x = 400+len * sin(angle)
   y = len * cos(angle)

   my_line = gr.Line(gr.Point(400,0), gr.Point(x, y))
   my_circle = gr.Circle(gr.Point(x, y), 10)

   my_line.draw(window)
   my_circle.draw(window)

   #aAcc = -0.01*sin(angle)
   aAcc = (-1*g/len)*sin(angle)
   aVel*=damping
   aVel+=aAcc
   angle+= aVel

http://judge.mipt.ru/mipt_cs_on_python3/labs/lab5.html

https://www.youtube.com/watch?v=9iaEqGOh5WM

середа, 22 липня 2020 р.

Задача I-Максимум последовательности на Python

Последовательность состоит из натуральных чисел и завершается числом 0. Определите значение наибольшего элемента последовательности.
Числа, следующие за нулем, считывать не нужно.

Формат входных данных

Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит).

Формат выходных данных

Выведите ответ на задачу (одно число).
i=1
max=0
while i!=0:
       i=int(input())
       if i>max:
           max=i
print(max)

Задача H-Количество четных элементов на Python

Посчитать количество четных элементов в массиве целых чисел, заканчивающихся нулём. Сам ноль учитывать не надо.

Формат входных данных

Массив чисел, заканчивающийся нулём (каждое число с новой строки, ноль не входит в массив)

Формат выходных данных

Одно число — результат.
i=1
count=0
while i!=0:
       i=int(input())
       if i%2==0 and i != 0:
           count+=1
print(count)

вівторок, 21 липня 2020 р.

Программирование задач Ейлера (задача 1) - Числа, кратные 3 или 5

Если выписать все натуральные числа меньше 10, кратные 3 или 5, то получим 3, 5, 6 и 9. Сумма этих чисел равна 23.
Найдите сумму всех чисел меньше 1000, кратных 3 или 5.


Программа на Питоне

n=int(input())
i=1
sum=0
while i<n:
   if i%3==0 or i%5==0:
         sum+=i
   i+=1
print(sum)