6 / 8 / 8
Регистрация: 06.10.2017
Сообщений: 269
1

Сколько в действительности банок краски необходимо для покраски стен в офисе

07.02.2018, 18:10. Показов 3140. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
сколько в действительности банок краски необходимо для покраски стен в офисе длиной L метров, шириной – W и высотой – H, если одной банки хватает на 16м2, а размерами дверей и окон можно пренебречь?

пример входного 8 8 2 тут ответ 4
пример входного 1 1 3 тут 1
вот мой код на 4 тесте падает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <fstream>
#include <iostream>
#include <cstring>
#include<math.h>
using namespace std;
int main () {
    ifstream fin("input.txt"); // открытие фаила
  ofstream fout("output.txt"); // запись в фаил
     int L,W,H,S;
    fin >>L;
    fin >>W;
    fin >>H;
    S=(((L+W)*2)*H)/16;
    if (S==0)
    fout << 1;
    else
        fout << S;
     }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2018, 18:10
Ответы с готовыми решениями:

Сколько в действительности банок краски необходимо для покраски стен в офисе
Ремонт Ваш любимый дядя – директор фирмы, которая делает евроремонты в офисах. В связи с...

Сколько в действительности банок краски необходимо для покраски стены в офисе
Ваш любимый дядя – директор фирмы, которая делает евроремонты в офисах. В связи с...

Определить минимальное количество банок краски для покраски стен и пола комнаты
Для покраски стен и пола комнаты шириной a метров, длиной b метров и высотой c метров (a, b и с –...

Сколько необходимо краски для покраски окон
Рассчитать количество краски, необходимое для покраски окон, если известен расход краски на 1кв. м.

8
Заблокирован
07.02.2018, 18:17 2
Лучший ответ Сообщение было отмечено Марина1211 как решение

Решение

C++
1
2
3
S=(L+W)*2*H/16;
S+=S*16!=(L+W)*2*H;
//тогда if (S==0) не нужен
1
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
07.02.2018, 18:18 3
"падает" в смысле вылетает?
Причин для этого нет, вроде бы.

А так, у тебя косяк в том, что ты выводишь S, который чаще всего меньше чем нужно.

Переделай так:
C++
1
2
int sq = (((L+W)*2)*H)
S=sq/16 + ((sq&0xF)?1:0);
1
6 / 8 / 8
Регистрация: 06.10.2017
Сообщений: 269
07.02.2018, 18:27  [ТС] 4
скажите пожалуйста где была моя ошибка в построение логики?
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
07.02.2018, 18:28 5
Лучший ответ Сообщение было отмечено Марина1211 как решение

Решение

Марина1211, дело в том, что если S = 17,то одной банки не хватит
1
6 / 8 / 8
Регистрация: 06.10.2017
Сообщений: 269
07.02.2018, 18:29  [ТС] 6
вот эта строка что делает? S+=S*16!=(L+W)*2*H;
0
Заблокирован
07.02.2018, 18:30 7
+1 если надо
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
07.02.2018, 18:37 8
Цитата Сообщение от New man Посмотреть сообщение
((sq&0xF)?1:0);
Это вы так нашли остаток от деления на 16? Остроумно! Ну, а если кому-то попадется банка, не являющегося степенью двойки, тот пускай немножко подумает...
0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
07.02.2018, 18:49 9
Марина1211, площать поверхности стен https://www.cyberforum.ru/cgi-bin/latex.cgi?S = 2HW + 2HL = 2H(W + L) а количество банок это

C++
1
int(S / 16) + S % 16 != 0
0
07.02.2018, 18:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2018, 18:49
Помогаю со студенческими работами здесь

Определить количество банок краски для покраски забора
Том Сойеру необходимо покрасить забор с двух сторон, который содержит N досок. Размеры каждой доски...

посчитать кол-во банок для покраски стен в комнате
Помогите посчитать кол-во банок для покраски стен в комнате (от потолка до пола)

Определить количество банок краски, которые ему потребуются для покраски забора
Том Сойеру необходимо покрасить забор с двух сторон, который содержит N досок. Размеры каждой доски...

В выходной файл выведите одно целое число – минимальное количество банок краски, необходимых для покраски
Здравствуйте, белые рыцари программирования. Сегодня вопрос по задаче. Она очень легкая, но у меня...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru