Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
1

Блок-схема. Задача прямоугольник

14.11.2013, 16:13. Просмотров 1377. Ответов 21
Метки нет (Все метки)

Здраствуйте, помогите решить одну задачку. Я не понимаю Алгоритма это задачи. Если не сложно подскажите(.
Имеем К квадратных плиток. Из них нужно выложить прямоугольник высотой H и шириной W плиток. Вариантов, как вы понимаете, немало. Но каждый прямоугольник имеет свой код. Этот код вычисляется как сумма двух величин:
Квадратоподобие = | H - W |
Экономичность = К - H * W
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 16:13
Ответы с готовыми решениями:

Блок-схема
Помогите сделать блок-схему под такой код..не сильно разбираюсь в блок-схемах.. #include...

Блок схема
Сделать блок схему работы программы офис несколько функций допустим открыть создать вставить текст...

Блок-схема
Здравствуйте! Подскажите, как правильно оформить ссылку на другую страницу в блок схеме? ...

Блок схема
Здраствуйте,помогите пожалуйста.Сдавал Вычеслительную технику 4 года назад,всё забыл уже.. Дан...

Блок-схема C++
Доброго времени суток. Помогите составить блок-схему для кода. #include <iostream> #include...

21
ezulex
10 / 10 / 2
Регистрация: 22.09.2013
Сообщений: 59
14.11.2013, 16:38 2
Если честно, не очень ясна задача.
1
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
14.11.2013, 16:40  [ТС] 3
Прошу прощение забыл дописать Нужно найти минимально возможный код прямоугольника.
0
ezulex
10 / 10 / 2
Регистрация: 22.09.2013
Сообщений: 59
14.11.2013, 16:56 4
А что изначально известно K или H с W?
1
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
14.11.2013, 16:59  [ТС] 5
Известно только число К плиток. Например при вводе 11 ответ 2. При вводе 2 ответ 1. При вводе 20 ответ 1.
0
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
14.11.2013, 19:13 6
Нужно из k плиток сложить прямоугольник a*b так чтобы abs(a-b)+(k-a*b) было минимально?
Ну перебрать все делители k и проверить.
0
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
14.11.2013, 21:06  [ТС] 7
Интересно как написать эту программу на паскале. Кто-то в курсе? Я так и не понял алгоритма.
0
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
14.11.2013, 22:41 8
Цитата Сообщение от Znbogdan Посмотреть сообщение
Например при вводе 11 ответ 2.
Это как?
0
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
14.11.2013, 22:46  [ТС] 9
Цитата Сообщение от Qwertiy Посмотреть сообщение
Это как?
11
2
Прямоугольник 3*3
0
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
14.11.2013, 22:50 10
Znbogdan, объясни накоце нормально, что надо. 3*3!=11.
0
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
14.11.2013, 22:56  [ТС] 11
Вот так там полный вывод расписан.
11 Прямоугольник 3*3
2

2 Прямоугольник 2*1
1

20 Прямоугольник 4*5
1
0
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
14.11.2013, 23:03 12
Ничего не понятно!
0
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
14.11.2013, 23:19  [ТС] 13
Вводится К квадратных блиток. Из них нужно выложить прямоугльник высотой Н и шириной W плиток. Каждый из прямоугольников имеет свой код. Этот код вычесляется как сумма двух величин:
Квадратоподобие= | H-W |
Экономичность= K-H*W
Вот так там полный вывод расписан.
11 Прямоугольник 3*3
2

2 Прямоугольник 2*1
1

20 Прямоугольник 4*5
1
0
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
14.11.2013, 23:23 14
Цитата Сообщение от Znbogdan Посмотреть сообщение
Из них нужно выложить прямоугльник высотой Н и шириной W плиток.
Но ведь H и W не даны? Откуда они берутся?

Цитата Сообщение от Znbogdan Посмотреть сообщение
11 Прямоугольник 3*3
Прямоугольник 3*3 выкладывается из 9 плиток, а не из 11.
Или можно оставлять неиспользованные плитки?
0
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
14.11.2013, 23:25  [ТС] 15
Цитата Сообщение от Qwertiy Посмотреть сообщение
Но ведь H и W не даны? Откуда они берутся?


Прямоугольник 3*3 выкладывается из 9 плиток, а не из 11.
Или можно оставлять неиспользованные плитки?
Можно оставлять неиспользованные плитки. а Н и W нужно найти самому тобишь подобрать из числа как-то.
0
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
14.11.2013, 23:41 16
Javascript
1
2
3
4
5
6
7
8
9
function solve(k) {
  var a, b, best=Infinity, besta, bestb, cur;
 
  for(a=1; a<=(b=Math.floor(k/a)); ++a)
    if((cur=b-a+k-a*b)<best)
      best=cur, besta=a, bestb=b;
  
  return { cost:best, a:besta, b:bestb};
}
Javascript
1
2
3
4
5
var q, res;
for(q=1; q<16; ++q) {
  res = solve(q);
  console.log((" "+q).substr(-2), res.cost, res.a, res.b);
}
Код
 1 0 1 1
 2 1 1 2
 3 2 1 3
 4 0 2 2
 5 1 2 2
 6 1 2 3
 7 2 2 3
 8 2 2 4
 9 0 3 3
10 1 3 3
11 2 3 3
12 1 3 4
13 2 3 4
14 3 3 4
15 2 3 5
1
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
14.11.2013, 23:48  [ТС] 17
А на паскале как код осуществить? Я просто не ознакомлен с яваскриптом и мало понимаю его.
0
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
15.11.2013, 00:12 18
Я на паскале делать точно не буду.
На Си и Си++, а также C# код будет почти такой же - придётся объявить тип для результата, а остальные переменные сделать int и заменить бесконечность на большое число. Ну и явное округление там не понадобится.
По-моему, код вполне понятен, независимо от языка, тут никаких джавоскриптовых фишек не использовано, так что переписывать его на какой-либо другой язык смысла не вижу.

Добавлено через 48 секунд
И вообще, ты же блок-схему просишь.
0
Znbogdan
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 24
15.11.2013, 00:21  [ТС] 19
Цитата Сообщение от Qwertiy Посмотреть сообщение
Я на паскале делать точно не буду.
На Си и Си++, а также C# код будет почти такой же - придётся объявить тип для результата, а остальные переменные сделать int и заменить бесконечность на большое число. Ну и явное округление там не понадобится.
По-моему, код вполне понятен, независимо от языка, тут никаких джавоскриптовых фишек не использовано, так что переписывать его на какой-либо другой язык смысла не вижу.

Добавлено через 48 секунд
И вообще, ты же блок-схему просишь.
Мне как отсталому от развития человеку, непонятны
C++
1
cost:best, a:besta, b:bestb a, b, best=Infinity, besta, bestb, cur, solve
0
Qwertiy
823 / 631 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
15.11.2013, 00:44 20
Цитата Сообщение от Znbogdan Посмотреть сообщение
a, b, best=Infinity, besta, bestb, cur
Объявления переменных. В твоём случае integer.
Одновременно best присваивается бесконечность. Учитывая формулу, можно присвоить какие-нибудь 2*k+1...

Цитата Сообщение от Znbogdan Посмотреть сообщение
{cost:best, a:besta, b:bestb}
Объект с 3 свойствами. А тебе действительно важно что это?
Просто ответ, где стоимость равна best, а стороны прямоугольника a и b.

Цитата Сообщение от Znbogdan Посмотреть сообщение
solve
Функция, принимающая число плиток и возвращающая решение.
Можно обойтись и без неё - просто помести внутренности внутрь решения.
1
15.11.2013, 00:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2013, 00:44

Блок-схема
unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,...

блок- схема
Один из простейших способов шифровки состоит в табличной замене одного символа на другой. Выбрать...

БЛОК-СХЕМА
Нужна блок-схема нижеприведенной программы, помогите! #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru