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

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

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

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





Сообщение: 78
ссылка на сообщение  Отправлено: 30.04.21 17:46. Заголовок: 8-е задание Всероссийского пробника ЕГЭ по информатике


Константин Юрьевич, здравствуйте.

Опять проблемы, и кроме как к Вам больше не к кому обратиться. Подскажите, пожалуйста, в чем тут дело.

Решая 8-е задание Всероссийского пробника ЕГЭ по информатике «Определите количество шестизначных чисел в пятеричной системе счисления, которые не оканчиваются цифрами 3 или 4 и не начинаются с цифры 1.» - столкнулся с очень странным поведением питона.

Приведенный ниже алгоритм почему то дает ответ - 9375
 
a=2*5**5
b=4*5**5+4*5**4+4*5**3+4*5**2+4*5**1+4
c=0
for i in range(a,b+1):
x=i
if ( x % 5 != 3) or ( x % 5 != 4):
c = c+1
print(c)

а так, как ниже, печатает - 5625
 
a=2*5**5
b=4*5**5+4*5**4+4*5**3+4*5**2+4*5**1+4
c=0
for i in range(a,b+1):
x=i
if ( x % 5 != 3):
if ( x % 5 != 4):
c = c+1
print(c)


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







Сообщение: 79
ссылка на сообщение  Отправлено: 30.04.21 17:57. Заголовок: Понимаю, что можно б..


Понимаю, что можно было обойтись всего одной строкой, например так:

print(3*5*5*5*5*3),

но хотелось бы понять, почему не срабатывает первый вариант "перебором"

Спасибо

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





Сообщение: 80
ссылка на сообщение  Отправлено: 30.04.21 18:12. Заголовок: и так работает прави..


и так работает правильно

 
a=2*5**5
b=4*5**5+4*5**4+4*5**3+4*5**2+4*5**1+4
c=0
d=0
for i in range(a,b+1):
x=i
if ( x % 5 == 3) or ( x % 5 == 4):
d=d
else:
c = c+1
print(c)


И так, работает:
 
a=2*5**5
b=4*5**5+4*5**4+4*5**3+4*5**2+4*5**1+4
c=0
for i in range(a,b+1):
x=i
if (x % 5 == 0 or x % 5 == 1 or x % 5 == 2 ):
c = c+1
print(c)

Но это все обходные пути, а в лоб не хочет!!!
Просто кошмар какой то

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




Сообщение: 2770
ссылка на сообщение  Отправлено: 30.04.21 22:13. Заголовок: s11kai пишет: if ( x..


s11kai пишет:
 цитата:
if ( x % 5 != 3) and ( x % 5 != 4):



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





Сообщение: 81
ссылка на сообщение  Отправлено: 01.05.21 02:24. Заголовок: Поляков пишет:  ци..


Поляков пишет:

 цитата:

 цитата:
if ( x % 5 != 3) and ( x % 5 != 4):



Кажется понял, остаток не может быть равен одновременно 3 или 4, но он может быть не равен и 3 и 4!

Век живи, век учись!

Спасибо, Константин Юрьевич!

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





Сообщение: 428
ссылка на сообщение  Отправлено: 01.05.21 16:39. Заголовок: Здравствуйте, s11kai..


Здравствуйте, s11kai!

Не вызывает сомнений, что лучший вариант решения этой задачи - print(3*5*5*5*5*3).

Записать вариант решения "перебором" в одну строку тоже можно, например, так:

 цитата:
print(len([x for x in range(int('200000',5),int('444442',5)+1) if str(x % 5) not in '34']))


Быть может, пригодится.

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





Сообщение: 82
ссылка на сообщение  Отправлено: 03.05.21 03:18. Заголовок: Здравствуйте, polyak..


Здравствуйте, polyakovss

Спасибо за красивый код

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



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.07.22 15:17. Заголовок: Здравствуйте . Задач..


Здравствуйте . Задачу решить перебором. Определите количество пятизначных чисел, записанных в девятеричной системе счисления, которые не начинаются с нечетных цифр, не оканчиваются цифрами 1 или 8, а также содержат в своей записи не более одной цифры 3.
k= 4*9*8*8*8 или 4*8*9*9*8
Ответ не сходится. Подскажите пожалуйста.

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





Сообщение: 173
ссылка на сообщение  Отправлено: 08.07.22 04:04. Заголовок: sain4 пишет: Ответ ..


sain4 пишет:

 цитата:
Ответ не сходится. Подскажите пожалуйста.


Что подсказать то, если только - почему ответ не сходится, то для этого нужно, как минимум, увидеть ваше решение?!
С другой стороны, из условия не совсем понятно что такое k, если это девятеричное число, то откуда там цифра 9 и что означает сия запись "4*9*8*8*8", стало быть следует прокрутить в цикле все девятеричные числа диапазона:
21234
21235
21236
21237
.......
88887
отсекая в младшем разряде 1 и 8, выбирая те, что начинаются с четных, при этом, исключая все значения содержащие более 1 тройки

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

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