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

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


textual

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

#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)
}

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

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



Похожие ответы
  1. Снова к вам! Задача: Вывод двенадцати месяцев на одном экране, начиная с заданного месяца. Получилось вот что:

  1. Дана строка из строчных латинских букв. Напечатать первые вхождения букв в текст, сохраняя их взаимный порядок. Указание: формируйте множество, в которое очередной элемент добавляется после первой печати. Примечание: Программы должны быть написаны в рамках структурного программирования. В частности, запрещается использовать операторы перехода и метки.

  1. Заполнить массив на 200 элементов псевдослучайными числами от 20 до 80: 1)Найти среднее арифметическое всех элементов. 2)Найти среднее арифметическое всех элементов меньше пятидесяти 3)Заменить наименьшие значения в массиве нулями Вывести полученный массив.

  1. 1. Найти среди чисел a, b, c наименьшее и заменить им число, большее из них.

  1. Всем привет, столкнулся с проблемой, что не могу написать программу. Нужна ваша помощь. Желательно написать без функций типа trunc т.к. такого не изучали. Вот условие: 8. Программа с помощью процедуры задает последовательность чисел 1,2,3...n(n<=100). Среди них находит автоморфные числа(число и последние цифры его квадрата равны) Например: 5 и 25, 25 и 625. Спасибо заранее)

  1. Здравствуйте, я столкнулся с проблемой. Я решил сделать ascii-скроллер в консоли при помощи модуля crt. Но вот проблема - практически все мерцает. Что с этим можно сделать? Пытался увеличивать задержку, но это не помогает.

  1. не могу разобраться и найти ошибку, до "3" раздела, ошибок не было, наверное в знаках ошибки или в переменных, но я в этом плохо разбираюсь. Прошу вашей помощи, кто хорошо разбирается

  1. не могу понять как описать в паскале делятся без остатка на x,х-1,х+1. Одновременно? В цикле от 1 до 100 if (i mod x = 0) and ((i-1) mod x = 0) and ((i+1) mod x = 0) tnen n := n + 1; задание 51. Ввести x с клавиатуры и определить, сколько чисел в промежутке от 1 до 100 делятся без остатка на x, x-1 или x+1.

  1. 1. Дан целочисленный массив А, содержащий n элементов (n 20). Найти количество различных членов последовательности.