Как мне написать функцию для добавления 7 и вычитания 2, если это еще не 0

Вот что мне нужно сделать: Улитка поднимается на 7 футов каждый день и соскальзывает на 2 фута каждую ночь. За сколько дней улитка выберется из колодца заданной глубины?

Пример ввода: 31

Пример вывода: 6

Пояснение: Давайте разберем расстояние, которое улитка преодолевает каждый день:

Day 1: 7-2=5
Day 2: 5+7-2=10
Day 3: 10+7-2=15
Day 4: 15+7-2=20
Day 5: 20+7-2=25
Day 6: 25+7=32 

Итак, на 6-й день улитка достигнет 32 футов и выберется из колодца днем, не соскальзывая обратно за ночь.

Это код, который я написал до сих пор:

function main() {
    var depth = parseInt(readLine(), 10);
    //your code goes here
    
}

Пожалуйста, помогите мне, я действительно застрял.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
0
6 312
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

За день и ночь улитка набирает в общей сложности 5 футов. Загвоздка здесь в том, что этот выигрыш состоит из набора 7 футов, а затем отступления на 2. Другой способ думать об этом состоит в том, что цель на 2 меньше, чем фактическая цель, но продвигается на 7-2=5 футов в день.

Чтобы сформулировать это в Javascript, вам нужно вычесть 2 из расстояния, разделить его на 5 и зафиксировать результат, чтобы получить количество дней в виде целого числа:

function numDays(distance) {
    return Math.ceil((distance - 2) / 5);
}
Ответ принят как подходящий

Это довольно простой вопрос,

function main() {
    var depth = parseInt(readLine(), 10);
    //your code goes here
   
    i = 0;
   
    for (; depth > 0;) {
        i++;
       
        depth -= 7
        if (depth > 0) {
            depth += 2
        }
    }
    console.info(i);
}

Что в основном делает этот код:

Он устанавливает переменную i, которая равна 0, чем когда глубина больше 0, 1 увеличивается на 1, что означает, что к ней добавляется 1 - это будет подсчитывать дни, которые это займет. Но мы должны учитывать и ночи, как говорится, он не упадет ночью, если весь день карабкается по нему. Таким образом, мы ставим еще + 2, если -7 не дает 0.

Вы можете прочитать о циклах for здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for

Я заметил, что вы новичок в переполнении стека, поэтому, пожалуйста, в следующий раз, когда вы спросите, сделайте код и исследуйте самостоятельно. Вы упомянули, что закодировали некоторые биты, но вы только что указали функцию, которая так же ничего не пишет и не просит ответа - переполнение стека - это не ваш сайт для решения домашних заданий! -

function main(distance) {
    var depth = parseInt(distance);
    //your code goes here
    var day = 0;
    var total = 0;
    while(total<depth){
        day = day + 1;
        total = total + 7;
        if (total >= depth){
            console.info(day);
            break;
        }
        total = total - 2;
    }
}
main(32)
main(51)

Этот вопрос довольно простой, но сложный;

Глубина уже определена: " var depth = parseInt(readLine(), 10);" Так что вам не нужно беспокоиться о том, чтобы снова объявить глубину. Поэтому нам нужно объявить переменную для дня и общего расстояния в начале, которое вар день = 0 ; и var total = 0 ; .Итак, вот решение:

функция основная () { var depth = parseInt(readLine(), 10); //определение глубины

//your code goes here
var day = 0; //defining day
var total = 0; // distance which is at zero
while(total<depth){
    day += 1;
    total += 7;  // if the total distance is less than depth of the well the day is added by one and distance is added by 7
    if (total >= depth){
        break;   // but if the total is equal to or greater than depth the loop will break  
    }
    total -= 2; // 2 is deducted from  every step in loop except when the loop is about to ends(where the loop breaks when total=depth).
}

}

function main() {
    var depth = parseInt(readLine(), 10);
    //your code goes here
    var result = depth / 5;
    console.info(Math.round(result));
}

Другие вопросы по теме