Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти одинокое число 
:(
    Опции темы
YuriT
Дата 23.4.2004, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2004

Репутация: нет
Всего: нет



есть массив... в массиве числа. известно что все числа в массиве кроме одного имеют пару. надо найти это одинокое число наименьшими затратами ресурсов (одним циклом - это обязательно)

1 3 5 2 3 1 5 ответ 2
111 111 111 111 24 26 26 24 7 ответ 7
5 13 13 5 5 6 6 ответ 5

и так далее. желательно найти несколько подходящих, но в принципе назных подхода...
PM MAIL   Вверх
sergejzr
Дата 23.4.2004, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



XOR'аешь все числа и в конце выходит твоё число.

Если точно, как ты сказал (то есть действительно нечётное кол-во), то всё будет нормально.
Дело в том, что он возвратит 0 при чётном количестве(ВСЕ парные). И 0 если 0 "одинокий".

Цитата

#include "stdio.h"
int findTheOnlyElement(int massiv[], int count)
{
  int res=massiv[0];
  for(int i=1;i<count;i++)
  {
    res=res^massiv[i];
  }
  return res;
}
int main()
{
  int massiv[]={3,5,3,2,15,4,5,2,4};
  printf( "element: %i \n" ,findTheOnlyElement(massiv,9));
  return 0;
}



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0394 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.