Определить, на какой день улитка доползёт до вершины шеста? - Free Pascal

Формулировка задачи:

Улитка ползёт по вертикальному шесту высотой h метров, поднимаясь за день на a метров, а за ночь спускаясь на b метров. На какой день улитка доползёт до вершины шеста? Программа получает на вход натуральные числа h, a, b и должна вывести одно натуральное число. Гарантируется, что a>b. При решении этой задачи нельзя пользоваться условной инструкцией if и циклами. ---------------------------- Как решить эту задачу без конструкции if? С ней легко, а без нее как? Не говорите мне, что это легкая задача. Дайте мне работающий код. В гугл не посылать, решения либо абсурдно легкие(h div (a-b), что, очевидно, неверно), либо слишком сложные, но в тоже время не выдающие правильные ответы.

Код к задаче: «Определить, на какой день улитка доползёт до вершины шеста? - Free Pascal»

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)
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

9   голосов, оценка 3.889 из 5


СДЕЛАЙТЕ РЕПОСТ