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

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

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

Регистрация: Apr 2011
Сообщений: 83
По умолчанию Разложить число.

Привет. Дали тестовое задание. Но не пойму по какому принципу разложить надо. Как разложить число используя номиналы, точнее что делать то, умножать что то или как? Может кто знает.

---------------------------------------------------------------------------------------------------------------
Разложить число, используя монеты заданных номиналов, на N монет. Сделать интерфейс, в
котором можно будет устанавливать число, номиналы и N.
Визуализировать результат выполнения программы в виде стопки монет/фишек.

Минимальные требования:
- программа должна быть написана на ActionScript 3.0

Плюсами будет:
- программа сделана на AIR и запускается на iOS
- программа написана на haxe, с использованием фреймворка NME

===========================================
Пример

Дано:
номиналы = [0.01, 0.1, 0.25, 0.5, 1, 5]
число = 2.53
N=7

Ответом будет: [1, 0.5, 0.5, 0.5, 0.01, 0.01, 0.01]
------------------------------------------------------

Старый 27.02.2013, 16:07
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 2  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Ух... мне бы в такой универ) Я ActionScript изучал на факультативе

Добавлено через 3 минуты
А имеется ввиду, что у вас номиналы: 1, 2, 5, 10, 25 и 50копеек. А нужно к примеру на входе ввести 123 разложить на 10 монет, программа должна подобрать комбинацию из 10 монет чтобы в сумме они давали 123 копейки.
__________________
return this...

Старый 27.02.2013, 16:12
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 3  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Ошибка в ответе, номинала 1 нет.

Добавлено через 4 минуты
Цитата:
Сообщение от AlexCooper Посмотреть сообщение
Ух... мне бы в такой универ) Я ActionScript изучал на факультативе
Не думаю, что это задание из универа. Больше похоже на тестовое задание при приеме на работу.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 27.02.2013, 16:19
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 4  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Цитата:
Ошибка в ответе, номинала 1 нет.
Цитата:
[0.01, 0.1, 0.25, 0.5, 1, 5]
Really?
__________________
мой пустой блог

Старый 27.02.2013, 16:21
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Прочитал как 1,5
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 27.02.2013, 16:21
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Алгоритм "в лоб" предельно прост. Пускаем бесконечный цикл, пока оставшаяся сумма не станет равной 0. Вычитаем из нее каждый шаг самый большой номинал. Если сумма получилась отрицательной, то берем следующий номинал поменьше. Как только стала положительной, сохраняем остаток в переменную, где у нас была первоначальная сумма и идем на новую итерацию.

Что-то типа того (не окончательный вариант без кэширования) выглядит так:
Код AS3:
while (sum > 0) {
    for (var i:uint = 0; i < nominalList.length; i++) {
        if ((sum - nominalList[i]) >= 0) {
            sum -= nominalList[i];
            resultList.push(nominalList[i]);
            break;
        }
    }
}
__________________
тут я

Старый 27.02.2013, 16:23
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 7  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
https://www.youtube.com/watch?v=O28YpB4fo18
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 27.02.2013, 16:23
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
А, да, номиналы в массиве номиналов должны идти от большего к меньшему. В моем варианте. Иначе всего лишь нужно поменять направление цикла.
__________________
тут я

Старый 27.02.2013, 16:28
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 9  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Именно такую задачу как-то решал на работе. Реализацию поищу
__________________
hauts.ru

Старый 27.02.2013, 16:28
pivnoibaron вне форума Посмотреть профиль Отправить личное сообщение для pivnoibaron Найти все сообщения от pivnoibaron
  № 10  
Ответить с цитированием
pivnoibaron
 
Аватар для pivnoibaron

Регистрация: Apr 2011
Сообщений: 83
спасибо

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

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

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


 


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


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