Ошибка.
Попробуйте повторить позже
Автомат получает на вход пятизначное число. По этому числу строится новое число по таким правилам:
- Складываются квадраты цифр, стоящих на нечетных позициях;
- Складываются квадраты цифр, стоящих на четных позициях;
- Затем в порядке возрастания записываются эти суммы.
Укажите наибольшее число, при вводе которого автомат выдает число .
Пример. Дано число Алгоритм работает следующим образом:
- ;
- ;
- Полученное число — .
Решение программой:
for i in reversed(range(10 ** 4, 10 ** 5)): s = str(i) odd = 0 even = 0 for j in range(len(s)): if (j + 1) % 2 == 1: odd += int(s[j]) ** 2 else: even += int(s[j]) ** 2 if str(min(odd, even)) + str(max(odd, even)) == ’61100’: print(i) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход пятизначное число. По этому числу строится новое число по следующим правилам.
- Складываются первая и вторая, третья и четвертая, а также первая и пятая цифры исходного числа.
- Из полученных трех чисел удаляется максимальное.
- Оставшиеся два числа записываются друг за другом в порядке неубывания (без разделителей).
Пример. Исходное число: . Суммы: . Максимальное: , тогда результат: . Укажите наибольшее число, в результате обработки которого автомат выдаст число .
Решение программой:
for i in reversed(range(10 ** 4, 10 ** 5)): s = str(i) x01 = int(s[0]) + int(s[1]) x23 = int(s[2]) + int(s[3]) x04 = int(s[0]) + int(s[4]) minim = min(x01, x23, x04) sr = sum([x01, x23, x04]) - minim - max(x01, x23, x04) if str(minim) + str(sr) == ’311’: print(i) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Из цифр, образующих десятичную запись , строятся наибольшее и наименьшее возможные двузначные числа (числа не могут начинаться с нуля).
2. На экран выводится разность полученных двузначных чисел.
Пример. Дано число . Наибольшее двузначное число из заданных цифр — , наименьшее — . На экран выводится разность .
Чему равно количество чисел на отрезке , в результате обработки которых на экране автомата появится число ?
ans = 0
for i in range(500, 701):
comb = permutations(str(i), r=2) # Перебор длины 2
maxim = 0
minim = 10000000
for j in comb:
s = ’’.join(j) # Преобразование в строку
if s[0] != ’0’:
maxim = max(maxim, int(s))
minim = min(minim, int(s))
if (maxim - minim) == 41:
ans += 1
print(ans)
Ошибка.
Попробуйте повторить позже
Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим правилам.
- Перемножаются первая и четвёртая, а также вторая и третья цифры исходного числа.
- Полученные два числа записываются друг за другом в порядке неубывания (без разделителей).
Пример. Исходное число: . Произведения: . Результат: . Укажите наименьшее число, в результате обработки которого автомат выдаст число .
Решение программой:
for i in range(1000, 10000): n = str(i) a = int(n[0]) * int(n[3]) b = int(n[1]) * int(n[2]) s = str(min(a, b)) + str(max(a, b)) if s == ’964’: print(i) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим правилам.
1. Перемножаются первая и вторая, вторая и третья, а также третья и четвертая цифры исходного числа.
2. Из полученных трех чисел удаляется максимальное.
2. Оставшиеся два числа записываются друг за другом в порядке убывания (без разделителей).
Пример. Исходное число: 1234. Произведения: . Максимальное: , тогда результат: . Укажите наибольшее число, в результате обработки которого автомат выдаст число .
n = str(i)
a = int(n[0]) * int(n[1])
b = int(n[1]) * int(n[2])
c = int(n[2]) * int(n[3])
s = str(a + b + c - max(a, b, c) - min(a, b, c)) + str(min(a, b, c))
if s == ’1816’:
print(i)
break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход два трехзначных числа. По этим числам строится новое число по следующим правилам:
1. Вычисляются три числа — сумма старших разрядов заданных трехзначных чисел, сумма средних разрядов этих чисел, сумма младших разрядов.
2. Полученные три числа записываются друг за другом в порядке невозрастания (без разделителей).
Пример. Исходные трехзначные числа: , . Поразрядные суммы: , , . Результат:
Какое наибольшее значение может иметь одно из чисел, полученных на входе, если другое число равно , а в результате работы автомата получено число ?
for i in reversed(range(100, 1000)):
s = str(i)
arr = [int(a[0])+int(s[0]), int(a[1])+int(s[1]), int(a[2])+int(s[2])]
arr = list(reversed(sorted(arr)))
arr = [str(j) for j in arr]
if ’’.join(arr) == ’1187’:
print(i)
break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Из цифр, образующих десятичную запись , строятся наибольшее и наименьшее возможные двузначные числа (числа не могут начинаться с нуля).
2. На экран выводится разность полученных двузначных чисел.
Пример. Дано число . Наибольшее двузначное число из заданных цифр – , наименьшее – . На экран выводится разность – = .
Чему равно количество трёхзначных чисел , в результате обработки которых на экране автомата появится число ?
Решение 1
ans = 0 for i in range(100, 1000): i = str(i) a = [] for x in i: a.append(int(x)) a = sorted(a) #сортируем массив по возрастанию max_num = str(a[2]) + str(a[1]) if a[0] != 0 and a[1] != 0: #массив вида [1, 2, 3] min_num = str(a[0]) + str(a[1]) elif a[1] != 0: #массив вида [0, 2, 3] min_num = str(a[1]) + str(a[0]) else: #массив вида [0, 0, 3] min_num = max_num if int(max_num) - int(min_num) == 11: ans += 1 print(ans)
Решение 2
from itertools import permutations ans = 0 for i in range(100, 1000): comb = permutations(str(i), r=2) # Перебор длины 2 maxim = 0 minim = 10000000 for j in comb: s = ’’.join(j) # Преобразование в строку if s[0] != ’0’: maxim = max(maxim, int(s)) minim = min(minim, int(s)) if (maxim - minim) == 11: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Автомат получает на вход четырехзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, вторая и третья, а также третья и четвертая цифры исходного числа.
2. Из полученных трёх чисел выбираются два наибольших и записываются друг за другом в порядке убывания без разделителей.
Пример. Исходное число: 4781. Суммы: 4 + 7 = 11; 7 + 8 = 15; 8 + 1 = 9. Наименьшая сумма: 9. Результат: 1511. Укажите наименьшее число, в результате обработки которого автомат выдаст число 1412.
s = str(i)
x01 = int(s[0]) + int(s[1])
x12 = int(s[1]) + int(s[2])
x23 = int(s[2]) + int(s[3])
a = sorted([x01, x12, x23])
if str(a[-1]) + str(a[-2]) == ’1412’:
print(i)
break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также вторая и третья цифры исходного числа.
2. Полученные два числа записываются друг за другом в порядке невозрастания (без разделителей).
Пример. Исходное число: 249. Суммы: . Результат: 136.
Укажите наименьшее число, в результате обработки которого автомат выдаст число 178.
s = str(i)
x01 = int(s[0]) + int(s[1])
x12 = int(s[1]) + int(s[2])
if str(max(x01, x12)) + str(min(x01, x12)) == ’178’:
print(i)
break
Ошибка.
Попробуйте повторить позже
Машина получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также вторая и третья цифры исходного числа.
2. Полученные два числа записываются друг за другом в порядке убывания (без разделителей).
Пример. Исходное число: 348. Алгоритм работает следующим образом:
1. Суммы: 3 + 4 = 7 для первой и второй цифр; 4 + 8 = 12 для второй и третьей цифр.
2. Полученные суммы записываются в порядке убывания.
Результат: 127.
Укажите наименьшее число, в результате обработки которого машина выдаст число 118.
У нас либо число 1 и 18, либо 11 и 8. Трехначное число, значит два из них рядышком должны быть девятки, а сумма 9 с чем-то всегда дает число больше или равно 9. Значит у нас числа 11 и 8.
На первом месте у нас наименьшее число может стоять это 1.
Чтобы получить 8 нам нужно к единичке добавить 7. На втором месте 7.
Что нужно прибавить к 7, чтобы получить 11? Правильно 4. Значит оно пойдет на последнее место.
Итог: это число 174.
Решение №2
s = str(i)
x01 = int(s[0]) + int(s[1])
x12 = int(s[1]) + int(s[2])
if str(max(x01, x12)) + str(min(x01, x12)) == ’118’:
print(i)
break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход какое-то число k (k < 100). По этому числу строится новое число M по таким правилам:
1. k умножается на число равное количеству десятков числа k;
2. К получившемуся числу прибавляется количество единиц числа k;
3. Вывод получившегося числа M.
Например: число 32 преобразовывается в 98.
Укажите число при вводе которого автомат выдает 280.
Тут нужно смотреть по числу умноженному на кол-во десятков. Например мало. . Тоже чуть многовато.
Давайте попробуем число между, т.е. . О... Идеально. Пишем ответ.
Решение №2
Тут вроде легче написать прогу даже...
k = i
s = str(i)
k = k * int(s[0])
k += int(s[-1])
if k == 280:
print(i)
Ошибка.
Попробуйте повторить позже
На вход алгоритма подаётся натуральное число .
Алгоритм строит по нему новое число следующим образом.
1) Вычисляется сумма всех чётных цифр десятичной записи числа . Если чётных цифр нет, сумма считается равной .
2) Вычисляется сумма всех цифр десятичной записи числа , стоящие на позициях с нечётными номерами. Позиции нумеруются слева направо, начиная с .
3) Вычисляется результат R как модуль разности и .
Например, . Сумма чётных цифр .
Сумма цифр в позициях с нечётными номерами . Результат работы алгоритма .
Укажите наименьшее число, в результате обработки которого по данному алгоритму получится число .
Решение 1
Если внимательно посмотреть, то мы всегда можем брать только нечетные позиции и складывать и получать число меньше. Если максимальное число мы можем взять в числе это 9, то . А по условию у нас 19, значит нужна еще единица, только она будет находится впереди, чтобы число было меньше.
. Тут сумма по нечетным равна 19, а сумма по четным 0. Также это наименьшее число.
Решение 2
for n in range(1, 100000): n = str(n) s1, s2 = 0, 0 for i in range(len(n)): if int(n[i]) % 2 == 0: s1 += int(n[i]) if i % 2 == 0: s2 += int(n[i]) if abs(s1-s2) == 19: print(n) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим правилам.
Перемножаются первая и третья, а также вторая и четвертая цифры исходного числа.
Полученные два числа записываются друг за другом в порядке неубывания (без разделителей).
Пример. Исходное число: . Произведения: . Результат: .
Укажите наименьшее число, в результате обработки которого автомат выдаст число .
for n in range(1000, 10000): n = str(n) a = int(n[0])*int(n[2]) b = int(n[1])*int(n[3]) prom = str(min(a, b)) + str(max(a, b)) if prom == ’825’: print(n) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход трёхзначное число . По этому числу строится новое число по следующим правилам:
1. Из цифр, образующих десятичную запись строятся наибольшее и наименьшее возможные двузначные числа (числа не могут начинаться с нуля);
2. На экран выводится разность полученных двузначных чисел.
Пример. Дано число Наибольшее двузначное число из заданных цифр — наименьшее — На экран выводится разность
Чему равно количество трёхзначных чисел в результате обработки которых на экране автомата появится число ?
count = 0 for i in range(100, 1000): n = [int(_) for _ in str(i)] n.sort() a = str(n[2]) + str(n[1]) if n[0] != 0: b = str(n[0]) + str(n[1]) elif n[1] != 0: b = str(n[1]) + str(n[0]) else: continue if int(a) - int(b) == 11: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам:
1. Складываются первая и вторая, а также вторая и третья цифры исходного числа.
2. Полученные два числа записываются друг за другом в порядке невозрастания (без разделителей).
Пример. Исходное число: Суммы: Результат:
Укажите наименьшее число, в результате обработки которого автомат выдаст число .
for i in range(100, 1000): n = [int(_) for _ in str(i)] x = [n[0] + n[1], n[1] + n[2]] x.sort() n_new = int(str(x[1]) + str(x[0])) if n_new == 178: print(i) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход четырёхзначное число (число не может начинаться с нуля). По этому числу строится новое число по следующим правилам.
- Складываются отдельно первая и вторая, вторая и третья, третья и четвёртая цифры заданного числа.
- Наименьшая из полученных трёх сумм удаляется.
- Оставшиеся две суммы записываются друг за другом в порядке неубывания без разделителей.
Пример. Исходное число: . Алгоритм работает следующим образом:
- Суммы: для первой и второй цифр; для второй и третьей цифр; для третьей и четвертой цифр.
- Наименьшая сумма удаляется.
- Оставшиеся две суммы записываются друг за другом в порядке неубывания без разделителей - .
Результат: .
Укажите наименьшее число, при обработке которого автомат выдаёт результат .
for i in range(1000, 10000): n = [int(_) for _ in str(i)] x = [n[0] + n[1], n[1] + n[2], n[2] + n[3]] x.sort() x = int(str(x[1]) + str(x[2])) if x == 1215: print(i) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также вторая и третья цифры исходного числа.
2. Полученные два числа записываются друг за другом в порядке убывания (без разделителей).
Пример. Исходное число: . Алгоритм работает следующим образом:
1. Суммы: для первой и второй цифр; для второй и третьей цифр.
2. Полученные суммы записываются в порядке убывания.
Результат: .
Укажите наименьшее число, в результате обработки которого машина выдаст число .
for i in range(100, 1000): s = str(i) sum1 = int(s[0]) + int(s[1]) sum2 = int(s[1]) + int(s[2]) if str(min(sum1, sum2)) + str(max(sum1, sum2)) == ’1111’: print(i) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также вторая и третья цифры.
2. Полученные два числа записываются друг за другом в порядке неубывания без разделителей.
Укажите наибольшее число, при обработке которого автомат выдаёт результат .
ma = 0 for t in range(100,1000): s = str(t) if (int(s[0])+int(s[1])==8) and (int(s[1])+int(s[2])==14) or (int(s[0])+int(s[1])==14) and (int(s[1])+int(s[2])==8): ma = t print(ma)
Ошибка.
Попробуйте повторить позже
Автомат получает на вход пятизначное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, третья и четвертая, а также первая и пятая цифры исходного числа.
2. Из полученных трех чисел удаляется максимальное.
3. Оставшиеся два числа записываются друг за другом в порядке неубывания (без разделителей).
Пример. Исходное число: 12345. Суммы: . Максимальное: 7, тогда результат: 36. Укажите наибольшее число, в результате обработки которого автомат выдаст число 517.
for i in range(99999, 9999, -1): n = [int(_) for _ in str(i)] x = [n[0] + n[1], n[2] + n[3], n[0] + n[4]] result = int(str(min(x)) + str(sum(x) - max(x) - min(x))) if result == 517: print(i) break
Ошибка.
Попробуйте повторить позже
Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим правилам.
- Перемножаются первая и вторая, вторая и третья, а также третья и четвертая цифры исходного числа.
- Из полученных трех чисел удаляется максимальное.
- Оставшиеся два числа записываются друг за другом в порядке убывания (без разделителей).
Пример. Исходное число: . Произведения: . Максимальное: , тогда результат: . Укажите наибольшее число, в результате обработки которого автомат выдаст число .
for i in range(9999, 999, -1): n = [int(_) for _ in str(i)] m = n[0] * n[1], n[1] * n[2], n[2] * n[3] result = str(sum(m) - max(m) - min(m)) + str(min(m)) if result == ’1815’: print(i) break