Top.Mail.Ru
Ответы

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

1)

Лёша и Паша играют в следующую игру. Лёша пишет на трёх карточках по одной цифре, а Паша пытается выложить эти карточки в ряд так, чтобы получилось наименьшее трёхзначное число. Напишите программу, которая будет помогать Паше.

Входные данные

На вход программе подаются 3 цифры; гарантируется, что среди них есть хотя бы одна ненулевая.

Выходные данные

Необходимо вывести наименьшее трёхзначное число, которое можно составить из этих цифр.

Sample Input:

5
1
2
Sample Output:

125
Напишите программу. Тестируется через stdin → stdout

2)

По данному натуральному числу

a и натуральному

n вычислите сумму
1
+
𝑎
+
𝑎
2
+
.
.
.
+
𝑎
𝑛
1+a+a
2
+...+a
n
.

Входные данные

Вводятся два натуральных числа —

a и

n
(
𝑎
,
𝑛
<
100
)
(a,n<100).

Выходные данные

Выведите полученное значение суммы.

Sample Input:

2
2
Sample Output:

7
Напишите программу. Тестируется через stdin → stdout

4)

Вводятся натуральные числа

a и

b. Гарантируется, что

a не превосходит

b. Выведите все чётные числа от

a до

b (включительно).

Входные данные

Вводятся два натуральных числа —

a и

b

(


𝑏
)

​(a⩽b)​.

Выходные данные

Выведите все чётные числа от

a до

b (включительно).

Sample Input:

2
5
Sample Output:

2
4
Напишите программу. Тестируется через stdin → stdout


5)

В ряд выписаны натуральные числа от
1
1 до
𝑛
n и задано натуральное число
𝑘
k. Выполняется один или несколько шагов по удалению чисел в этом ряду. На очередном шаге оставшиеся числа просматриваются в возрастающем порядке, и каждое
𝑘
k-е число удаляется. Если после очередного шага осталось меньше
𝑘
k чисел, то процесс удаления чисел завершается.

Необходимо определить, на каком шаге будет удалено число
𝑛
n, или выяснить, что оно не будет удалено до завершения процесса.

Например, пусть
𝑛
=
13
,
𝑘
=
2.
n=13,k=2.
На первом шаге будут удалены числа
2
,
4
,
6
,
8
,
10
2,4,6,8,10 и
12
12, останутся числа
1
,
3
,
5
,
7
,
9
,
11
1,3,5,7,9,11 и
13
13. На втором шаге будут удалены числа
3
,
7
3,7 и
11
,
11, останутся числа
1
,
5
,
9
1,5,9 и
13.
13. На третьем шаге будут удалены числа
5
5 и
13
,
13, останутся числа
1
1 и
9.
9. На четвертом шаге будет удалено число
9
,
9, останется число
1.
1. Поскольку осталось одно число, процесс завершается. Таким образом, число
13
13 будет удалено на третьем шаге.

Требуется написать программу, которая по заданным числам
𝑛
n и
𝑘
k определяет, на каком шаге будет удалено число
𝑛
n.

Входные данные

На вход в первой строке подается целое число
𝑛
(
3

𝑛

1
0
18
)
.
n(3⩽n⩽10
18
). Во второй строке записано целое число

k
(
2

𝑘

100
,
𝑘
<
𝑛
)
.
(2⩽k⩽100,k<n).

Выходные данные

Выведите одно целое число – номер шага, на котором будет удалено число
𝑛
n, или число
0
0, если число
𝑛
n не будет удалено.

Sample Input:

13
2
Sample Output:

3
Напишите программу. Тестируется через stdin → stdout

По дате
По рейтингу
Аватар пользователя
Новичок
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
 #!/usr/bin/python3 
 
#   Создает список списков комбинаций значений из input_list 
def make_combinations(input_list): 
    list_list = list() 
    rlist = list() 
    #   Рекурсивная функция построения списка из списков комбинаций эл-тов 
    make_list_list(list_list, input_list, rlist) 
    #   Вернем список списков 
    return  list_list 
 
#   Внутренняя рекурсивная функция, в которой и происходит основная работа 
#   по созданию комбинаций и их сохранению в списке списков 
def make_list_list(list_list, input_list, result_list): 
    if len(input_list) > 0: 
        #   Распределим данные из списка input_list в списки 
        #   output_list и result 
        for idx in range(len(input_list)): 
            output_list = list() 
            #   Сделаем копию списка результатов при помощи среза 
            result = result_list[:] 
            n = 0 
            for item in input_list: 
                if n == idx: 
                    #   Добавим к копии текущий элемент 
                    result.append(item) 
                else: 
                    output_list.append(item) 
                n += 1 
            #   Рекурсивнвый вызов функции 
            make_list_list(list_list, output_list, result) 
    else: 
        #print(result_list) 
        list_list.append(result_list) 
 
def input_values(): 
    #   Список цифр 
    values = list() 
    num_count = 0 
    #   Максимальное количество цифр для ввода 
    max_num_count = 3 
    while num_count < max_num_count: 
        print("Осталось ввести цифр: "+str(max_num_count-num_count)) 
        try: 
            num = int(input('Введите цифру: ')) 
            if num >= 0 and num < 10: 
                values.append(num) 
                #   Перейдем ко вводу следующей цифры 
                num_count = num_count + 1; 
            else: 
                print('Необходимо вводить цифры от 0 до 9.') 
        except ValueError: 
            print("В строке ввода зафиксирован мусор") 
    return values 
 
values = input_values() 
#values = [1,2,3] 
#   В этой точке у нас есть заполненный список values из max_num_count цифр 
print(values) 
#   Создадим список списков комбинаций списка values 
list_list = make_combinations(values) 
print("Возможные комбинации:") 
for item in list_list: 
    print(item) 
print("Min:") 
print(min(list_list)) 
 
Аватар пользователя
Мудрец

Здесь тема Питона, в нем нет никаких stdin

12
 from itertools import permutations as pm 
print(min(map(int,map(lambda x: ''.join(x),pm([input() for i in range(3)])))))