Как найти "счастливый билет"
"Счастливым" считается такой билет, в котором последовательное сложение цифр номера дает число 7. Например, 62431 -- номер "счастливого" билета (6 + 2 + 4 + 3 + 1 = 16, 1 + 6 = 7).
Можно найти такой билет для номера мобилы, аськ и т.п.
Набираем прямо из консоли и напишем результат в какой нибудь текстовый файл, например ~/bilets.txt
$ perl -e 'foreach (1000000..9999999){$t=$_;while(!/^.$/){s/\d/$&+/g;s/\+$//;$_=eval}print "$t\n" if $_ == 7}' > ~/bilets.txt (1 vote)
- 1570 просмотров
Страница для печати


вот на питоне (на x mod 9 обрати внимание. :-p):
for x in range(10000000): if (x mod 9) == 7: print "you're lucky!!! your number is " , xкруто. математика рулит. у меня дейсвтительно решение в лоб. но твой скрипт явно на коленке написан, и вот правильный вариант. (на x % 9 обрати внимание. :-p):
#!/usr/bin/python for x in xrange(1000000,9999999): if (x % 9) == 7: print xа вот тот же алгоритм на перле
perl -e 'foreach (1000000..9999999) { print "$_\n" if ($_ % 9) == 7}'спасибо за идею
P.S. как ты нашел эту скрипт?
Странные вы люди
самое интересное в этой теме вот что:
~$ perl -e 'foreach (1000000..9999999) { print "$_\n" if ($_ % 9) == 7}' | wc -l 1000000сегодня день пафоса какой то Ж:-)
Мне вот тоже очевидно что тут странного и интересного. Уж снизойди до недогадливых.
И интересно таки как было найдено решение про mod 9, ход мысли. Если он был
и?
Отправить комментарий