Форум программистов, компьютерный форум CyberForum.ru

Есть диапазон целых чисел, в котором каждое число встречается дважды, кроме одного. Найдите его за линейное время. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сгенерировать число "1" или "2" http://www.cyberforum.ru/cpp-beginners/thread791799.html
Как сделать с помощью функции rand генерацию числа в диапазоне от 0 до 1? Просто если пишу rand() % 1 то всё время выдаёт только одно и тоже число. Как мне известно малые биты менее случайны чем старшие. Как решить проблему?
C++ Объясните кусок программы (подсчет кол-ва букв в слове) #include "stdafx.h" #include <iostream> #include <cstring> void out (int *num, char (*word), int &b) { printf ("\n"); for (int i=0; i<b; i++) printf ("%s ", word]); } void fperest(int &a, int &b ) http://www.cyberforum.ru/cpp-beginners/thread791770.html
C++ Правильно ли выполнено задание
Написать функцию, которая принимает на вход вектор строк и выводит их суммарную длину. #include <iostream> #include <vector> #include <string> size_t size_vector_string(std::vector<std::string> vector); int main()
C++ требуетсяя изменить программу так что бы она считывала значения int а не double
вродибы у меня всё получилось кроме sqrt я изменил double n на double ns и под ним написал int n = ns; и получилось что выводило только целые числа но квадратный корень всё равно выводится не так как нужно!! подскажите пожалуйста как правельно написать!! и если не трудно напишите пожалуйста ещё пару примеров!! рабочих я их поизучаю!! Спасибо большое!! #include "stdafx.h" #include...
C++ Объясните зачем нужны конструкторы http://www.cyberforum.ru/cpp-beginners/thread791695.html
Зачем нужны конструкторы? Читаю в книгах, смотрю видеоуроки и все равно не понятно
 

Показать сообщение отдельно
Байт
 Аватар для Байт
13978 / 8809 / 1228
Регистрация: 24.12.2010
Сообщений: 15,959
21.02.2013, 20:37     Есть диапазон целых чисел, в котором каждое число встречается дважды, кроме одного. Найдите его за линейное время.
KostyaKulakov, Если диапазон не слишком велик, можно завести char *s размером в диапазон, обнулить его, а далее как-то так
C
1
2
3
 n - очередное число
if (s[n] == 2) continue;
else s[n] ++;
Потом просматриваете s, и как только встретите 1 - вот оно!
Требуемую память для массива s можно сократить в 4 раза, упаковывая 4 двухбитных значения в один байт.
 
Текущее время: 14:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru