Форум программистов, компьютерный форум CyberForum.ru

Найти минимальное количество топлива в литрах, необходимое для достижения заданной точки - C++

Восстановить пароль Регистрация
 
SaULeR
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 31
27.06.2014, 18:14     Найти минимальное количество топлива в литрах, необходимое для достижения заданной точки #1
Ограничение времени: 0.5 секунды
Ограничение памяти: 64 МБ

Наш джип находится в пустыне и должен достичь точки, находящейся на расстоянии N километров от него. Рельеф сложный, машина старая, и похоже, что топливо вытекает, так что на каждый пройденный машиной километр тратится один литр топлива. В джипе есть канистры, общая ёмкость которых вместе с бензобаком составляет M литров (M < N). В начале дороги есть неограниченное количество топлива, а повсюду в пустыне есть пустые цистерны, в которых джип, проезжая, может оставить неограниченное количество топлива.
Напишите программу, которая находит минимальное количество топлива в литрах, которое необходимо для достижения заданной точки.
Исходные данные
Два целых числа, N и M, записаны в единственной строке ввода. Известно, что 5M ≥ N > 0 и N < 32000.
Результат
В единственной строке выведите минимальное количество литров топлива, округлённое вверх.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
int main ()
{
long a,m,n;
double d,o,w;
cin>>n>>m;
a=0;
w=o=0;
 
while (true){
a++;
d=(double)m/((a << 1) - 1);
 
if (w + d >= (double)n) 
break;
 
w += d;
o += m;
}
 
d = (double)n-w;
o += d*((a << 1) - 1);
 
    cout<<int(o + 0.5);
 
}

выдает ошибку на 3 тесте в чем дело?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2014, 18:14     Найти минимальное количество топлива в литрах, необходимое для достижения заданной точки
Посмотрите здесь:

Найти минимальное расстояние от точки до точки C++
Вывести число итераций, необходимое для достижения заданной точности C++
По данным ежемесячного расхода топлива, определить номер судна, сэкономившего наибольшее количество топлива C++
Найти минимальное количество купюр для оплаты суммы C++
Найти количество операций необходимое для того, чтобы получить из второй строки первую C++
C++ Графы, найти минимальное время, необходимое для выполнения всех задач
C++ Вывести число итераций, необходимое для достижения заданной точности
Определите число членов ряда, необходимое для вычисления его произвендения с заданной погрешность C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 16:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru