Информатика, вопрос задал medinaruslanova397 , 6 лет назад

1) Запишите функцию, которая выводит 3 заданных числа в порядке возрастания.

2) Запишите функцию, которая находит наибольший общий делитель двух натуральных чисел.

3) даны два натуральных числа. Создайте программу, которая определит, в каком из них: а) много цифр; б) большая сумма цифр.

4) даны стороны двух треугольников. Составьте программу для нахождения суммы их: а) периметров; б) площадей.


nikdissv: Не забудьте выбрать лучший ответ

Ответы на вопрос

Ответил nikdissv
1

# 1)

def increase(a, b, c):

# быстро можно записать так:

print('\n'.join(sorted((a, b, c))))

# 2)

def gcd(a, b):

if a > b: a, b = b, a

while b > 0: a, b = b, a%b

return a

# Но в math есть функция gcd, которой конечно лучше пользоваться, она быстрее.

# 3)

def main(a, b):

str_a = str(a)

str_b = str(b)

sum_n_a = sum([int(n) for n in str_a])

sum_n_b = sum([int(n) for n in str_b])

len_n_a = len(str_a)

len_n_b = len(str_b)

if len_n_a > len_n_b:

print('По количеству цифр побеждает a =', a)

else:

print('По количеству цифр побеждает b =', b)

if sum_n_a > sum_n_b:

print('По сумме цифр побеждает a =', a)

else:

print('По сумме цифр побеждает b =', b)

# 4)

from math import sqrt

def sum_P_S(a1, b1, c1, a2, b2, c2):

P1 = a1+b1+c1

p1 = P1/2

S1 = sqrt(p1 * (p1-a1) * (p1-b1) * (p1-c1))

P2 = a2+b2+c2

p2 = P2/2

S2 = sqrt(p2 * (p2-a2) * (p2-b2) * (p2-c2))

print('P1+P2 =', P1+P2)

print('S1+S2 =', S1+S2)

Новые вопросы