Главная страница
    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
1-11915
Beginner
2003-12-21 12:40
2004.01.05
Вопрос о типе PChar.


1-11951
uu
2003-12-19 21:58
2004.01.05
INI


6-12025
*FoX*
2003-11-05 16:43
2004.01.05
SMS


1-11994
Zergling
2003-12-16 09:19
2004.01.05
Занесение числа Double в динамический массив


14-12143
KILLER_ABV
2003-12-04 11:58
2004.01.05
Нужны скины для компонента SkinEngine





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский