• Улитка ползёт по вертикальному шесту высотой h метров, поднимаясь за день на a метров, а за ночь спускаясь на b метров. На какой день улитка доползёт до вершины шеста?

    Входные данные
    Программа получает на вход натуральные числа h, a, b. Гарантируется, что a>b.

    Выходные данные
    Программа должна вывести одно натуральное число.

    Примечание
    При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.

    Примеры
    входные данные
    10
    3
    2
    выходные данные
    8
    входные данные
    20
    7
    3
    выходные данные
    5

Ответы 7

  • изобретение этой добавки до целого заняло время, ведь обычно это решается или через функцию, которой в паскале нет или через условный оператор
    • Автор:

      dutchess
    • 5 лет назад
    • 0
  • Это задача дается после изучения целых чисел и действий над ними, вот выведенная формула: 1 + ((abs(h - a) + h - a) div 2 + a - b - 1) div (a - b)
    • Автор:

      glenn69
    • 5 лет назад
    • 0
  • Решение хоть и удовлетворяет условию, но уж никак не рациональное
    • Автор:

      georgina
    • 5 лет назад
    • 0
  • 1 + (h - b - 1) / (a - b) или даже (то же самое, что и решение ниже)
    • Автор:

      emery74
    • 5 лет назад
    • 0
  • 1 + (h - b - 1) div (a - b)*
  • var    d, a, b, h, s: integer;begin    readln(h, a, b);    {проверка}            d := 0;    s := 0;    repeat        d := d + 1;        s := s + a;        if s >= h then break;                s := s - b;    until s >= h;    writeln('Проверка дней = ', d);    writeln();        {решение без циклов и условных операторов}    h := h - a;    b := a - b;    s := (b - h mod b) mod b; {добавка до целого}    d := 1 + (h + s) div b;    writeln('Дней = ', d);    end.
    • Автор:

      yair
    • 5 лет назад
    • 0
  • // PascalABC.NET 3.1, сборка 1250 от 28.05.2016begin  var h,a,b:integer;  Write('Введите h a b: '); Read(h,a,b);  Writeln(Ceil((h-a)/(a-b))+1)end.Примеры решенияВведите h a b: 10 3 28Введите h a b: 20 7 35
    • Автор:

      greta84
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years