Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Вниз

Самая короткая программа подсчета   Найти похожие ветки 

 
McSimm   (2003-12-12 10:55) [0]

Нужно подсчитать количество ненулевых битов в файле. Предложите алгоритм самой короткой программы для этого


 
Sandman25   (2003-12-12 11:06) [1]

Константный массив с индексом 0..MAXINT
A[0]=0, A[1]=1, A[2]=1, A[3]=2, A[4]=1...


 
Romkin   (2003-12-12 11:09) [2]

Короткой по какому критерию? Самый короткий текст, самую быструю, экономную? :)


 
Romkin   (2003-12-12 11:11) [3]

Первое, что приходит в голову, это константный массив array [byte] of byte, значения которого - число нулевых битов :) После этого - простой проход с суммированием значений массива по индексу байта из файла


 
Romkin   (2003-12-12 11:13) [4]

Да, кажется, у i386 есть в ассемблере команда подсчета количества нулевых бит (или единичных?). Тогда и таблица не нужна. А вот файл весь в любом случае читать придется


 
McSimm   (2003-12-12 11:17) [5]

Задачка с юмором


 
McSimm   (2003-12-12 11:43) [6]

Решение: 7*FileSize

Также это решение подходит для посчета "не первых", "не вторых" и т.д. битов :)

Ну, а за неграмотность в условии просто извинияюсь ;)


 
Romkin   (2003-12-12 11:43) [7]

Моя на рассвете юмора не панимат!
Да и мало ли что нужно... Я тут частотный словарь составлял, тоже та еще задачка. Особенно, когда меня напугали, что файлы с текстом несколько гигабайт будут... Когда написал, выяснилось, что мегабайт :))))


 
Sandman25   (2003-12-12 11:47) [8]

McSimm © (12.12.03 10:55)

Таких задач можно много напридумывать...
Как найти размер файда? Ответ - измерить линейкой.
Как найти число ненулевых битов в файле? Ответ - 1. Остальные биты ненулевые (если считать биты от начала файла, не начиная отсчет заново для каждого следующего байта).


 
Думкин   (2003-12-12 11:50) [9]

> [7] Romkin © (12.12.03 11:43)

Ты меня этим в чате запугивал? :-)))
А в чем проблема была? Я тогда не понял. Я составлял такой словарь - ужасов не набдюдал.


 
Romkin   (2003-12-12 11:55) [10]

В том, что словарь-то шерстить надо, а он в память не лезет, и если прикинуть, то время увеличивается оченно хорошо, у меня получалась пара дней где-то. К счастью, вовремя разобрались, а то я уже в дебри двоичных словных деревьев полез... Ограничился TStringList



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
14-12143
KILLER_ABV
2003-12-04 11:58
2004.01.05
Нужны скины для компонента SkinEngine


4-12215
SH
2003-10-21 19:09
2004.01.05
Сетевые ресурсы


14-12165
Magisimus
2003-12-11 15:47
2004.01.05
А где загрузочный экран в Windows XP


3-11813
vlgrig1961
2003-12-10 08:17
2004.01.05
Вопрос по TSession.GetTableNames в Oracle8


1-11971
TUser
2003-12-19 12:39
2004.01.05
label.Caption:TStrings





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский