Професионална програма
Loading...
+ Нов въпрос
KemalBekir avatar KemalBekir 0 Точки

09. Min Number For Loop - Exercise

Добър вечер. Имам проблем с тази задача и получавам 75 от 100 в джъдж ако може някой да помогне. Благоаря предварително.

  1. Най-малко число*

Напишете програма, която получава n-на брой числа (n > 0) и намира най-малкото измежду тях. Първо се получава число n, а след това самите n числа.

Примерен вход и изход

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

(["2",

"100",

"99"])

99

(["3",

"-10",

"20",

"-30"])

-30

(["4",

"45",

"-20",

"7",

"99"])

-20

(["1",

"999"])

999

(["2",

"-1",

"-2"])

-2

https://pastebin.com/EydBirx4
 

Тагове:
RaUndreundre avatar RaUndreundre 52 Точки

Здравейте,
 

function minNumber(input) {
    let n = Number(input[0]);
    if (n > 0) {
        let min = Number(input[1]);
        for (let i = 2; i <= n; i++) {
            let num = Number(input[i]);
            if (min > num) {
                min = num;
            }
        }
        console.log(min);
    }
}

Проверено и работи 100/100.
Поздрави!

0
10/03/2021 13:23:44
thefoxmako avatar thefoxmako 0 Точки

Здравейте,аз се побърквам 87/100 и не мога да намеря къде и защо греша.Ако някой може да ми обясни!

Благодаря,предварително!

https://pastebin.com/sSAPGEW3 

 

function solve(input) {

    // let index = 0

    let n = Number(input[0]);

    input.shift();

    let first = Number(input[1]);

     for (i = 1; i < n; i++) {

        let num = Number(input[i]);

       if (first > num) {

            first = num;

        }

    } console.log(first)

}

 

0
RaUndreundre avatar RaUndreundre 52 Точки

Здравей, С let first = Number(input[1]); взимаш аргумента на позиция с индекс 1, а после във цикъла който започва пак от 1, отново взимаш същия аргумент. Оттам ти идва и грешката.
Ето го твоя код леко корегиран. Проверено и работи 100/100.

function solve(input) {
    let n = Number(input[0]);
    input.shift();
    let first = Number(input[0]);
    for (i = 1; i < n; i++) {
       let num = Number(input[i]);
       if (first > num) {
           first = num;
        }
    } 
    console.log(first)
}

Поздрави!

0
11/03/2021 01:19:21
thefoxmako avatar thefoxmako 0 Точки

Благодаря!

0
KaloyanStoyanovvv avatar KaloyanStoyanovvv 68 Точки

function solve(arr) {
    return arr.slice(1).sort((a, b) => a - b)[0];
}

0