Позвольте n
быть количество раз, когда ваша программа была выполнена. Если n
есть сила 2, а затем распечатать , 2^x
где n = 2^x
; в противном случае просто выведите число. Пример выполнения:
[1st time] 2^0
[2nd time] 2^1
[3rd time] 3
[4th time] 2^2
[5th time] 5
и так далее. Это конкурс популярности, поэтому ответ с наибольшим количеством голосов выигрывает ..
popularity-contest
Jwosty
источник
источник
0
при первом запуске?n = 2^x
?» Иначе во второй раз будет выходной2^4
, в четвертый раз2^16
и т. д.1
это сила двух.2^0=1
x = 2^x
а неn = 2^x
Ответы:
Java - злоупотребление API
Есть много компьютеров в сети, которые могут сосчитать, так зачем хранить счет сам?
Полное злоупотребление API стека, чтобы получить квоту и оставшуюся квоту, чтобы увидеть, сколько раз она была запущена сегодня:
Очевидно, что это работает только с новой суточной квотой для вашего IP, и только до квоты. Если вам нужна поддержка больших номеров, опубликуйте [feature-request], чтобы повысить
quota_max
доMAX_INT
.источник
JavaScript
alert((n=Math.log((l=localStorage).m=~~l.m+1)/Math.log(2))==(n|0)?"2^"+n:l.m)
Последовательные предупреждения следующие:
источник
C - запись в исполняемый файл
Этот код C обновляет строку
data
в исполняемом файле, так что по сути это самоизменяющийся код. Если вы запустите его более 9,999,999 раз, вы получите интересные вещи.источник
gcc test.c
,./a.out
2^0 Segmentation fault (core dumped)
Ява
Следующий код изменяет свой собственный файл класса, чтобы сохранить новый счетчик прогонов. Это было особенно весело, когда вы понятия не имели, как выглядит байт-код, но после бесчисленных часов поиска в Google и тестирования он наконец-то работает! :)
Демо (используя 7 в качестве начального значения для демонстрационных целей):
Код:
источник
дециграмм
Здесь я представляю вам портативный код! При каждом запуске
#
добавляется в конце, делая прогресс-бар! Кроме того, вы можете перенести код на другой компьютер и продолжить с того места, где вы были.После 18 раз:
источник
Пример Ruby на основе Синатры
Это серверное решение хранит персональный счетчик для каждого пользователя в файле cookie.
Попробуйте это на http://every-2-to-the-n-times.herokuapp.com/
источник
Perl
Вот немного Perl, чтобы сделать это. Где должны храниться данные? Почему в самом файле программы, конечно же! знак равно
Первоначально я использовал магический дескриптор файла DATA вот так, но я чувствую, что выше "чище":
источник
tell DATA
прежде чем читать из него, а затем вернуться к этому месту.удар
Простой скрипт для самостоятельного редактирования.
источник
удар
Я как dfernig «s решение Bash , но я хотел бы опубликовать мое , а также:
Я думаю, что решение можно считать другим, потому что
«Память» - это размер скрипта (первоначально 171 байт), который увеличивается на 1 с добавлением новой строки при каждом выполнении.
Степени 2 распознаются путем преобразования размера программы (конечно, минус 170) в двоичный, а затем подсчета единиц: если есть ровно один, то n является степенью 2. Показатель степени - это число нулей в двоичном коде. ,
источник
Решение Java
Использование API предпочтений Java для хранения суммы пробега; и предварительно рассчитал степени 2 для хэш-карты для сравнения
источник
Javascript
Я решил не использовать очевидное
log2
решение, а работать с побитовыми операторами, чтобы найти позицию одного бита в двоичном представлении степени 2 чисел.источник
for
цикл представляет собой цикл от 1 до 130 с отображением ...: /Рубин
Хорошо, я думаю, что попробую это сейчас. Он ищет себя для определения
n
.(протестировано в Ruby 1.9.3)
источник
Фортран 77
Код:
Результат:
источник
С
Один из «правильных» способов сделать это (без использования файлов).
Вы можете
reset
указать его в командной строке, чтобы обнулить его. Вы также можете перемещать или копировать исполняемый файл. Перемещение исполняемого файла сбрасывает его, и несколько копий исполняемого файла являются независимыми.источник
Сверкающий, 423 символа (еще один самоизменяющийся код). Сохраните его,
count.spn
затем запуститеspn count.spn
:источник
Вот быстрое решение Python 3, которое использует файл данных для хранения
n
иx
между запусками:Выход из него запущен 16 раз:
источник
Python 2
источник
C #
Это, однако, требует, чтобы вы определили свойство settings в вашем проекте Visual Studio:
источник
С / POSIX
Эта программа использует количество жестких ссылок на свой собственный исполняемый файл в качестве счетчика того, как часто он вызывался. Он создает новые жесткие ссылки в каталоге, из которого он был запущен (потому что таким образом он гарантированно находится в той же файловой системе), что, следовательно, требует разрешения на запись. Я опустил обработку ошибок.
Вам лучше убедиться, что у вас нет важного файла с таким же именем, как у одной из созданных жестких ссылок в этом каталоге, иначе он будет перезаписан. Если , например , исполняемый файл называется
counter
, жесткие ссылки будут названыcounter_1
, иcounter_2
т.д.Пример выполнения (первая строка сбрасывает счетчик, если исполняемый файл уже запущен):
источник
Фортран 95
Файл с именем «a» (без расширения) отслеживает запуск программы.
источник