Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 09.02.2012, 01:26
pivnoibaron вне форума Посмотреть профиль Отправить личное сообщение для pivnoibaron Найти все сообщения от pivnoibaron
  № 1  
pivnoibaron
 
Аватар для pivnoibaron

Регистрация: Apr 2011
Сообщений: 83
По умолчанию Задачки

Привет. Вот мне на собеседовании задали задачку. Есть массив, в нем находятся цифры, расположенные по возрастанию. Пример mArray = [ 5, 7, 9, 10, 15, 18, 25, 27, 30, 34, 38, 40, 44, 47 ] Нужно. Узнать индекс искомого числа в массиве. Число мы знаем. Это для примера можно взять любое число из данного массива, но вот индекс этого числа нужно узнать. Вот только нужно не бегать по всему массиву. А разделить массив на 2 и узнать данный индекс больше или меньше искомого числа. И так далее делить данные части массива пополам. Пока не найдем число. Как это можно сделать?

Задачка довольно интересная. как для моего уровня. Может Вы подкинете мне еще похожих или не очень задач. На работу с массивами, с компьютерной логикой или что то в этом духе, для тренировки ?

Добавлено через 1 минуту
Вот что мне в голову пришло

package
{
import flash.display.Sprite;
import flash.events.Event;

public class Main extends Sprite
{

public var d:int = 14;
public var sArray:Array = new Array ( );


public function Main():void
{
sArray = [ 4, 6, 8, 14, 24, 32, 44, 54, 72, 84 ];
var s:Number = sArray.length;
sear ( s );
}

private function sear( s:Number ):void
{
var m:int = s / 2;

if ( sArray [ m ] > d )
{
while ( sArray [ m ] > d )
{
m = m / 2;
trace ( m );
}
} else

if ( sArray [ m ] < d )
{
while ( sArray [ m ] > d )
{
m = m / 2;
trace ( m );
}

}
}
}

}

Создать новую тему   Часовой пояс GMT +4, время: 23:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.