Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Считаем от 2 000 000 ₄ до миллиона

Автор Тайльнемер, ноября 23, 2016, 01:19

0 Пользователи и 1 гость просматривают эту тему.

Солохин

Теперь это выглядит так:

def sis(x,a):
   b=[]
   while x:
      c=x%a
      x, b =(x-c)//a, [c]+b
   return b

def linio (x,a):
   b=sis(x,a)
   z=""
   for n in range( len(b)):
      q=b[n]
      if q>9: z=z+"(" + str(q)+")"
      else: z=z+str(b[n])
   return z+"{sub}"+str(a)+"{/sub}"+" = "+str(x)+"{sub}10{/sub}"

def linioj(x,a,n):
   for k in range(n):
      print(linio(x+n,a))

(Птичьи скобки{} заменить на квадратные [].)

Команда linioj(x,a,n) выдает n чисел  в системе счисления с основанием a, начиная с  числа x.

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Цитата: Python от августа 24, 2018, 17:59
Лучше напишите бота, который каждые ҂ѳх҃кд (9624) секунд проверяет эту тему и автоматически генерирует ответ на последнее сообщение.
О! Вот это нетривиальная задача. Боюсь, пока не готов.

Пока побалуюсь с тем, что сделал. Сейчас выдам сразу пятьдесят следующих чисел  :smoke:

Итак, командую: linioj(9624,23,50)!

Результат:

(18)4(10)23 = 962410
(18)4(11)23 = 962510
(18)4(12)23 = 962610
(18)4(13)23 = 962710
(18)4(14)23 = 962810
(18)4(15)23 = 962910
(18)4(16)23 = 963010
(18)4(17)23 = 963110
(18)4(18)23 = 963210
(18)4(19)23 = 963310
(18)4(20)23 = 963410
(18)4(21)23 = 963510
(18)4(22)23 = 963610
(18)5023 = 963710
(18)5123 = 963810
(18)5223 = 963910
(18)5323 = 964010
(18)5423 = 964110
(18)5523 = 964210
(18)5623 = 964310
(18)5723 = 964410
(18)5823 = 964510
(18)5923 = 964610
(18)5(10)23 = 964710
(18)5(11)23 = 964810
(18)5(12)23 = 964910
(18)5(13)23 = 965010
(18)5(14)23 = 965110
(18)5(15)23 = 965210
(18)5(16)23 = 965310
(18)5(17)23 = 965410
(18)5(18)23 = 965510
(18)5(19)23 = 965610
(18)5(20)23 = 965710
(18)5(21)23 = 965810
(18)5(22)23 = 965910
(18)6023 = 966010
(18)6123 = 966110
(18)6223 = 966210
(18)6323 = 966310
(18)6423 = 966410
(18)6523 = 966510
(18)6623 = 966610
(18)6723 = 966710
(18)6823 = 966810
(18)6923 = 966910
(18)6(10)23 = 967010
(18)6(11)23 = 967110
(18)6(12)23 = 967210
(18)6(13)23 = 967310

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Python

На форуме есть тег [code][/code] — используйте его, тогда не нужно думать об исправлении скобок.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Python

Цитата: Солохин от августа 24, 2018, 18:03
Цитата: Python от августа 24, 2018, 17:59
Лучше напишите бота, который каждые ҂ѳх҃кд (9624) секунд проверяет эту тему и автоматически генерирует ответ на последнее сообщение.
О! Вот это нетривиальная задача. Боюсь, пока не готов.
Зато так интереснее, чем постить по ⰣⰡⰘⰐⰃ (9674) чисел в одном сообщении ;)
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Солохин

Вроде, должно сработать:


def sis(x,a):
   b=[]
   while x:
      c=x%a
      x, b =(x-c)//a, [c]+b
   return b

def linio (x,a):
   b=sis(x,a)
   z=""
   for n in range( len(b)):
      q=b[n]
      if q>9: z=z+"(" + str(q)+")"
      else: z=z+str(b[n])
   return z+"[sub]"+str(a)+"[/sub]"+" = "+str(x)+"[sub]10[/sub]"

def linioj(x,a,n):
   for k in range(n):
      print(linio(x+n,a))


Работает!
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Цитата: Python от августа 24, 2018, 18:08
Зато так интереснее
Конечно! спору нет.

Боты делать я пока не научился. И к чему приведет, если я действительно научусь, это пока неясно. Вдруг появится какая-нибудь мощная идея с ботами...
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Цитата: Python от августа 24, 2018, 18:08
Зато так интереснее, чем постить по ⰣⰡⰘⰐⰃ (9674) чисел в одном сообщении
Согласен, что постить по 1110211003 = 967510 чисел в одном сообщении неспортивно.

Зато интересно посмотреть, как выглядит одно и то же число, скажем, то же 3022005 = 967510 в разных системах счисления! Сейчас забацаю программку...
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

def dissis(x,a,b):
for n in range(a,b+1):
print(linio(x,n))


Команда: dissis(9676,2,60).

Результат:

100101110011002 = 967610
1110211013 = 967610
21130304 = 967610
3022015 = 967610
1124446 = 967610
401327 = 967610
227148 = 967610
142419 = 967610
967610 = 967610
72(10)711 = 967610
572412 = 967610
453413 = 967610
375214 = 967610
2(13)0115 = 967610
25(12)(12)16 = 967610
1(16)8317 = 967610
1(11)(15)(10)18 = 967610
17(15)519 = 967610
143(16)20 = 967610
10(19)(16)21 = 967610
(19)(21)(18)22 = 967610
(18)6(16)23 = 967610
(16)(19)424 = 967610
(15)(12)125 = 967610
(14)8426 = 967610
(13)7(10)27 = 967610
(12)9(16)28 = 967610
(11)(14)(19)29 = 967610
(10)(22)(16)30 = 967610
(10)2431 = 967610
9(14)(12)32 = 967610
8(29)733 = 967610
8(12)(20)34 = 967610
7(31)(16)35 = 967610
7(16)(28)36 = 967610
72(19)37 = 967610
6(26)(24)38 = 967610
6(14)439 = 967610
61(36)40 = 967610
5(31)041 = 967610
5(20)(16)42 = 967610
5(10)143 = 967610
4(43)(40)44 = 967610
4(35)145 = 967610
4(26)(16)46 = 967610
4(17)(41)47 = 967610
49(28)48 = 967610
41(23)49 = 967610
3(43)(26)50 = 967610
3(36)(37)51 = 967610
3(30)452 = 967610
3(23)(30)53 = 967610
3(17)(10)54 = 967610
3(10)(51)55 = 967610
34(44)56 = 967610
2(55)(43)57 = 967610
2(50)(48)58 = 967610
2(46)059 = 967610
2(41)(16)60 = 967610
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Python

Да, задача с ботом нетривиальная, поскольку формат чисел в сообщениях может быть каким-угодно (вплоть до картинки с цифрами неровным почерком) — я за такое даже и не брался. Хотя некоторую автоматизацию все же сделал: копирую руками число в буфер, затем запускаю скрипт auto.bat, который берет число из буфера, увеличивает на 1, передает его программе, отображающей его в какой-либо системе, копирует результат (например, 100012223.0002110100π≈9677) обратно в буфер, из которого я копирую его на форум. Ну и некоторые другие дополнительные функции.
Spoiler: auto.bat ⇓⇓⇓
С буфером можно работать и непосредственно из Питона (возможно, установив некоторые дополнительные пакеты).

P.S. В скрипте присутствуют html-коды символов, которые при отображении сообщения преобразовались в сами символы (чего внутри тега code быть не должно — админы, исправьте!).
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Солохин

Цитата: Python от августа 24, 2018, 18:31
Да, задача с ботом нетривиальная, поскольку формат чисел в сообщениях может быть каким-угодно (вплоть до картинки с цифрами неровным почерком)
Да, но по правилам игры (если я их правильно понимаю), в сообщении должна присутствовать обычная, десятичная форма следующего по порядку числа.

Значит, бот может проверять наличие этого следующего (и следующего за ним, и т.д.), и при наличии автоматом добавлять следующее за последним.
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Кстати, а морзянку тут уже использовали? С помощью морзянки тоже ведь можно передавать числа.

Точки, тире и пробелы. Кто умеет?
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Python

Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Солохин

Упс... точно. Ошибся я. Но уже не исправишь.
Хотя нет, придумал!

.----   -....   .----   --... = 9679-2 :)
Sinjoro Jesuo Kristo purigu min.


Вне форума.

Python

Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Солохин

Sinjoro Jesuo Kristo purigu min.


Вне форума.

Python

 ----.   -....   ---..   ...--
(9683)
⍝ APL лаконичнее, чем Python :)
morse←{⎕←{5↑(-⍵)⌽'-----.....'}¨⍎¨⍵}
morse '9683'
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Валентин Н

Цитата: Солохин от августа 24, 2018, 16:36
Комментарий: в моем способе записи десятичное число в скобках надо рассматривать как единый знак: одна цельная цифра. А индекс внизу справа - основание системы счисления.
Обычно это через двоеточие делается, как на часах где 60ичная сестема счисления.
ЗАБАНИЛ ВИКИПЕДИЮ
Нижниь ıндэкс в ҷıсʌах — степень тıсяҷı
Препинания авторские!

Валентин Н

ЗАБАНИЛ ВИКИПЕДИЮ
Нижниь ıндэкс в ҷıсʌах — степень тıсяҷı
Препинания авторские!

Python

Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Валентин Н

ТБЕГА БНК ТЕБЕГ НЕТЕ =9602

Это тоже морзянка, а чтоб её увидеть надо закрыть буквы так, чтоб остались только верхушки. Этот шифр я когда-то давно в фильме увидел.
ЗАБАНИЛ ВИКИПЕДИЮ
Нижниь ıндэкс в ҷıсʌах — степень тıсяҷı
Препинания авторские!

Python

Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Валентин Н

ЗАБАНИЛ ВИКИПЕДИЮ
Нижниь ıндэкс в ҷıсʌах — степень тıсяҷı
Препинания авторские!

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр