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

Bonus Score

Здравейте! Имам проблем с judge системата. Следният код:
function bonusScore (n) {    
    let bonus = 0;
    if(n <= 100){
        bonus += 5;
    }else if(n > 100 && n < 1000){
        bonus += n * 0.2;
    }else if(n >= 1000){
        bonus += n * 0.1;
    }
    
    if(n % 2 == 0){
        bonus += 1;
    }else if (n % 5 == 0){
        bonus += 2;
    }
    
    console.log(bonus);
    console.log(n + bonus);
}

работи без проблем, когато го тествам в конзолата на Chrome, но в judge система ми отчита грешки! Моля за насока, как да коригирам проблема. Благодаря Ви!
Тагове:
0
Programming Basics
ambiorix avatar ambiorix 640 Точки

Това условие "else if (n % 5 == 0)" ти е грешно защото 25 се дели на 5 без остатък и завършва на 5, но и 20 се дели на 5 без остатък, но завършва на 0. Помисли как да го изолираш така че да изкарва само числата завършващи на 5.

0
TomaTomov_91 avatar TomaTomov_91 9 Точки

Да! Благодаря! Ще го коригирам, но ако изключим това, при подаден вход 20 изходът трябва да е 6 , 26. Това се получава и при мен при тест в конзолата, но в judge изкарва 6, 206. Имаме големи разногласия с тази система :D
П.С: коригирах кода,но все същия неуспех :)

0
31/10/2016 12:47:49
drunin89 avatar drunin89 14 Точки

Ето моята задача, надявам се да ти помогне:


            var num = double.Parse(Console.ReadLine());
            double bonus=0;
            if (num <= 100)
            {
                bonus = 5;
          
            }
            else if (num > 100 && num < 1000)
            {
                bonus = num * 0.2;
            }
            else
            {
                bonus = num * 0.1;
            }

            if (num %2 == 0)
            {
                bonus = bonus + 1;

            }
            else if ( num %10 == 5)
            {
                bonus = bonus + 2;

            }
            else
            {

            }
            Console.WriteLine(bonus);
            Console.WriteLine(bonus + num);

 

0
TomaTomov_91 avatar TomaTomov_91 9 Точки

Благодаря Ви!

0
TomaTomov_91 avatar TomaTomov_91 9 Точки

Разбрах проблемът си! Входът е под формата на стринг, а аз смятах, че е число :)

0
ambiorix avatar ambiorix 640 Точки

Това идва от факта, че повечето задачи са предвидени за C# и там входът от конзолата винаги е стринг. Явно в javascript е малко по-различно.

0
TomaTomov_91 avatar TomaTomov_91 9 Точки

Предполагам наистина ще да е това проблема. На още доста задачи ми дава грешка,а при тест от мен в конзолата, резулататът изглежда правилен.

0