Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

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


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

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



Условие:
Пара носков стоит 1.05 грн, связка (12 пар) стоит 10.25, коробка (12 связок) стоит 114 грн. Составить программу, которая по числу n пар носков, которые хочет приобрести покупатель, рассчитывает наиболее выгодный вариант покупки: вычисляет кол-во коробок, связок и пар носков, которые ему следует купить.
Например:
Вместо 11 пар носков следует купить связку - это будет дешевле.

Мой вариант решения:
Код
Program Noski;
Var t1,t2,n,i,korobki,nabir,shtyki:integer; k:real;
Begin
t1:=trunc (10.25/1.05);
t2:=trunc (114/1.05);
readln (n);
k:=n*1.05;
if n>=t2 then
   for i:=n downto 1 do
   if i*114<=k
   then begin
   n:=n-i*144;
   korobki:=i;
   BREAK;
   end;
if n>=t1 then
begin k:=n*1.05;
for i:=n downto 1 do
   if i*10.25<=k
   then begin
   n:=n-i*12;
   nabir:=i;
   BREAK;
   end;
end;
if n>0 then shtyki:=n;
writeln ('Ви повиннi купити ',korobki,' коробок ',nabir,' наборiв ',shtyki,
' штук пар потнякiв');
readln;
end.


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


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
vladimir74
Дата 10.3.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



воспользуйся операторами DIV и MOD

--------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ.
PM MAIL   Вверх
vladimir74
Дата 10.3.2009, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



что то типа этого....
Код

   readln (n);
   s1 :=  (n div 144)*114;
   s2 := ((n mod 144) div 12) *10.25;
   s3 := ((n mod 144) mod 12) *1.05;
   write(s1+s2+s3)

--------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ.
PM MAIL   Вверх
Metalex
Дата 10.3.2009, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

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



vladimir74, растолкуй, пожалуйста...


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
vladimir74
Дата 11.3.2009, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Metalex @  10.3.2009,  18:37 Найти цитируемый пост)
vladimir74, растолкуй, пожалуйста... 

DIV и MOD это операторы деления причем
div - дает целое число
mod - остаток
теперь (если я правильно понял)
1 шт. стоит 1.05 грн, 
12 шт стоит 10.25, 
коробка (12 связок по 12 шт = 144шт) стоит 114 грн. 
мы берем наше число N делим его сначала на 144 и целую часть умножаем на  114 грн. этим мы получаем сумму за коробки. (s1)
потом берем остаток (n mod 144) и делим его на 12 колличество носков в связке. Умножая на цену за связку получем (s2)
остаток - это просто отдельные пары (меньше 12) это наша последняя промежуточня сумма. 
Стоимость же всей партии - это сумма этих трех s....
надеюсь понятно обьяснил. 
P.S: еще раз советую посмотреть в справку по этим двум операторам...
--------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ.
PM MAIL   Вверх
Metalex
Дата 11.3.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 635
Регистрация: 22.10.2008
Где: Украина-ZPсity

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



vladimir74, что такое div и mod это и слону понятно smile 
Просто не совсем был понятен ход твоих мыслей. Попробую так.


--------------------
Don't let the system get you down.
PM WWW ICQ Skype   Вверх
vladimir74
Дата 11.3.2009, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Metalex @  11.3.2009,  13:15 Найти цитируемый пост)
Просто не совсем был понятен ход твоих мыслей. Попробую так. 

хм...
Цитата(Metalex @  9.3.2009,  20:19 Найти цитируемый пост)
Например:
Вместо 11 пар носков следует купить связку - это будет дешевле.

вот слона я таки и не заметил  smile прошу прощения...
все равно что то не так....
давай попробуем дополнить мою мысль...
мы уже имеем цену уоторую должен заплатить покупатель за N носков. Теперь нам остается узнать будет ли ему выгоднее купить больше носков (если я теперь правильно понял)
Код

summe := s1+s2+s3 // то что он должен платить
virt_s1 :=  ((n div 144)+1)*114; // если он захочет купить все в коробках
virt_s2 := ((((n mod 144) div 12)+1) *10.25)+((n div 144)*114); // если он захочет купить в коробках и связках

теперь у нас есть три числа которые мы можем сравнить между собой...
надеюсь это то что тебе надо...
--------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

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

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


 




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


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

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