Определить, на какой день улитка доползёт до вершины шеста? - Free Pascal
Формулировка задачи:
Улитка ползёт по вертикальному шесту высотой h метров, поднимаясь за день на a метров, а за ночь спускаясь на b метров. На какой день улитка доползёт до вершины шеста?
Программа получает на вход натуральные числа h, a, b и должна вывести одно натуральное число. Гарантируется, что a>b.
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.
----------------------------
Как решить эту задачу без конструкции if? С ней легко, а без нее как? Не говорите мне, что это легкая задача. Дайте мне работающий код. В гугл не посылать, решения либо абсурдно легкие(h div (a-b), что, очевидно, неверно), либо слишком сложные, но в тоже время не выдающие правильные ответы.
Решение задачи: «Определить, на какой день улитка доползёт до вершины шеста?»
textual
Листинг программы
#include <iostream> using namespace std; int main () { int h,a,b,s; cin>>h>>a>>b; s=a-b; cout<<((h-a)+s-1)/s+1; // (h-a)+s-1)/s - средняя скорость улитки // h-a это последний день когда улитка не спусклась // т.е среднюю скорость находим не от 10 метров а от 7 метров // 7/1 но так как входные данные могут быть другими, нужно округление вверх (x+y-1)/y // +1 это наш последний день (h-a) }
Объяснение кода листинга программы
- В начале программы объявляются переменные
h
,a
,b
иs
, в которые будут сохраняться значения, введенные пользователем. - Затем эти переменные инициализируются с помощью функции
cin
. - Переменная
s
вычисляется как разностьa
иb
. - Далее выводится результат вычисления
(h-a)+s-1)/s+1
с помощью функцииcout
. - В комментариях приведены формулы для расчета средней скорости улитки и последнего дня, когда улитка не поползла вниз.
(h-a)+s-1)/s
- это средняя скорость улитки, которую мы получаем, округляя вниз.h-a
- это последний день, когда улитка не поползла вниз.(h-a)+s-1)/s+1
+ 1 - это наш последний день, на который мы хотим узнать, когда улитка доползет до вершины шеста.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д