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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ И снова работа со строками http://www.cyberforum.ru/cpp-beginners/thread1218490.html
Всем привет! У меня есть поле ввода и кнопка. Если поле не заполненное, то по нажатию кнопку вылезет сообщение "M", если в поле что то записано - сообщение "N". Очень важно для меня, чтобы строчка была TCHAR, никакие другие строчки мне использовать нельзя. TCHAR str; GetDlgItemText(ID_EDIT, str, 10) if(str == /*пустой строке*/) { MessageBox(_T("Поле пустое")); } else ...
C++ Равновеликие прямоугольники Привет ребята ) нужна помощь с заданием по с++ Найти все равновеликие прямоугольники, стороны которых выражены целыми числами a и b, а площадь ровна S ( a и b принадлежат интервалу от 1 до 20, а S вводится с клавиатуры. http://www.cyberforum.ru/cpp-beginners/thread1218481.html
Делители натурального числа C++
Привет всем) завтра экзамен ... не могли бы помочь мне сделать задание? или хотя бы натолкнуть на мысль. буду благодарен Дано натуральное число. Найти сумму и количество нечетных делителей натурального числа
Странная ошибка в алгоритме заполнения массива из файла C++
Алгоритм приведенный ниже, на самом деле является частью функции, которая работает некорректно. По этому я решил переделать алгоритм в консольный вариант, что бы протестировать (так как я не был уверен что баг именно в этой функции, а не в другой). Файл map1.map содержит числа, 0 и 1. Сама программа при выполнении выводит только первые 13 строк массива (причем в первой строке последний символ...
C++ Выделить память под массив размера 2^64 байтов http://www.cyberforum.ru/cpp-beginners/thread1218464.html
Требуется выделить память под массив размера 2^64 байтов. Как порекомендуете решать данную задачу?
C++ почему при возврате объекта из метода исчезает поле с динамической памятью При выходе из метода оператора + динамическая память, которая хранится в объекте класса Vector исчезает. Как исправить эту ситуацию? Подскажите, пожалуйста. Vector.h #pragma once #include <malloc.h> #include <iostream> подробнее

Показать сообщение отдельно
SaULeR
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 31
27.06.2014, 18:14     Найти минимальное количество топлива в литрах, необходимое для достижения заданной точки
Ограничение времени: 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 тесте в чем дело?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru