На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 27.04.21 18:18. Заголовок: Задание 5 №1717


У кого ошибка: у меня или в ответе задания? (вариант 2301)
(№ 1717) Автомат получает на вход трёхзначное число.
По этому числу строится новое число по следующим правилам.
1. Из цифр, образующих десятичную запись N,
строятся наибольшее и наименьшее возможные двузначные числа (числа не могут начинаться с нуля).
2. На экран выводится разность полученных двузначных чисел.
Пример. Дано число N = 351. Наибольшее двузначное число из заданных цифр – 53, наименьшее – 13.
На экран выводится разность 53 – 13 = 40.
Чему равно количество чисел N на отрезке [700; 800],
в результате обработки которых на экране автомата появится число 80?

Ответ: 2

Код ниже прилагаю:
Скрытый текст


Вывод:
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 9 [только новые]





Сообщение: 1
ссылка на сообщение  Отправлено: 27.04.21 18:19. Заголовок: ``` coun..


```
counter = 0

for N in range(700, 800 + 1):
number = N
digits = []
while number > 0:
digits.append(number % 10)
number //= 10
digits.sort()
for i in range(len(digits)):
biggerNum = int(str(digits[2]) + str(digits[1]))

if digits[0] == 0:
lessNum = 0
else:
lessNum = int(str(digits[0]) + str(digits[1]))
if biggerNum - lessNum == 80:
counter += 1
print(N, digits)
print(biggerNum, lessNum)
print('---')
print(counter)
```

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 2
ссылка на сообщение  Отправлено: 27.04.21 18:21. Заголовок: counter = 0 for N ..


 
counter = 0

for N in range(700, 800 + 1):
number = N
digits = []
while number > 0:
digits.append(number % 10)
number //= 10
digits.sort()
for i in range(len(digits)):
biggerNum = int(str(digits[2]) + str(digits[1]))

if digits[0] == 0:
lessNum = 0
else:
lessNum = int(str(digits[0]) + str(digits[1]))
if biggerNum - lessNum == 80:
counter += 1
print(N, digits)
print(biggerNum, lessNum)
print('---')
print(counter)


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2761
ссылка на сообщение  Отправлено: 27.04.21 18:56. Заголовок: Egor123123 пишет: дв..


Egor123123 пишет:
 цитата:
двузначные числа (числа не могут начинаться с нуля)

Ваш третий вариант не подходит.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 427
ссылка на сообщение  Отправлено: 28.04.21 00:26. Заголовок: Вариант решения


Вариант решения задачи 1717:
 цитата:
 def f(x): 
L=sorted([int(x) for x in str(x)])
max_d = L[2]*10 + L[1]
c = L.count(0)
if c == 0: min_d = L[0]*10 + L[1]
if c == 1: min_d = L[1]*10
if c == 2: min_d = max_d
return max_d - min_d

print(len([x for x in range(700,801) if f(x) == 80]))



Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 08.01.23 00:59. Заголовок: def f(n): d = ..



 цитата:

def f(n):
d = []
for i in permutations(n, 2):
n1 = int(''.join(i))
if n1 >= 10:
d.append(n1)
return d


k = 0
for i in range(700, 801):
lst = f(str(i))
if max(lst) - min(lst) == 80:
k += 1

print(k)



Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 08.01.23 00:59. Заголовок: def f(n): d = ..



 цитата:

def f(n):
d = []
for i in permutations(n, 2):
n1 = int(''.join(i))
if n1 >= 10:
d.append(n1)
return d


k = 0
for i in range(700, 801):
lst = f(str(i))
if max(lst) - min(lst) == 80:
k += 1

print(k)



Спасибо: 0 
Цитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 11.04.23 21:11. Заголовок: еще одно


k = 0
for n in range(900, 1000):
s = str(n)
p1 = [int(s[0]), int(s[1]), int(s[2])]
p2 = sorted(p1)
t1 = int((str(p2[2]) + str(p2[1])))
if p2[0] == 0 and p2[1] != 0:
t2 = int((str(p2[1]) + str(p2[0])))
elif p2[0] == 0 and p2[1] == 0:
t2 = int((str(p2[2]) + str(p2[1])))
elif p2[0] != 0 and p2[1] == 0:
t2 = int((str(p2[0]) + str(p2[1])))
else:
t2 = int((str(p2[0]) + str(p2[1])))
p3 = abs(t1 - t2)
if p3 == 70:
k += 1
print(k)

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 1
ссылка на сообщение  Отправлено: 11.04.23 21:12. Заголовок: k = 0 for n in rang..


 
k = 0
for n in range(900, 1000):
s = str(n)
p1 = [int(s[0]), int(s[1]), int(s[2])]
p2 = sorted(p1)
t1 = int((str(p2[2]) + str(p2[1])))
if p2[0] == 0 and p2[1] != 0:
t2 = int((str(p2[1]) + str(p2[0])))
elif p2[0] == 0 and p2[1] == 0:
t2 = int((str(p2[2]) + str(p2[1])))
elif p2[0] != 0 and p2[1] == 0:
t2 = int((str(p2[0]) + str(p2[1])))
else:
t2 = int((str(p2[0]) + str(p2[1])))
print(p2, t1 - t2)
p3 = abs(t1 - t2)
if p3 == 70:
k += 1
print(k)



Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 82
ссылка на сообщение  Отправлено: 22.06.23 21:12. Заголовок: k=0 for n in range(..


 k=0 
for n in range(700,801):
par=[int(str(a)+str(b)) for (a,b) in permutations(str(n),2) if a!='0' and a+b!='00']
if max(par)-min(par)==80:
k+=1; print(k,n)


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1186
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет