Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

DimiPetrov avatar DimiPetrov 4 Точки

Simple Salculations - Exam задачи

Здравейте. Тези две задачи ги решавам успешно в конзолата, но Judge ми казва, че моят output е NaN, вместо числата, които конзолата изписва. Предполагам, че проблемът е идентичен, но ето и двете:

https://pastebin.com/XkygETX0

https://pastebin.com/FN9LvwP1

На тази задача конзолата изобщо не ми изкарва никакъв резултат - https://pastebin.com/EJd2nA7n

А тази ми излиза грешна (в Judge също ми дава NaN) - https://pastebin.com/6SFsc73M

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

P.S. Имам и още един въпрос: не мога да отворя файлa с условията на задачите More Exercises в Judge. При Exam задачите отварям само PDF файла. Има ли нужда от инсталиране на допълнителен софтуер (работя с Windows 10 и MS Word 2007)?

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

MartinBG avatar MartinBG 4803 Точки

В повечето от решенията си преобразуваш входните аргументи (стрингове) до нови променливи от числов тип, но по-долу в кода използваш директно входните аргументи (стринговете), вместо числовите променливи и от там ти идват NaN грешките. 

0
DimiPetrov avatar DimiPetrov 4 Точки

Може ли да ми обясниш по-подробно кое с кое трябва да заменя в условията? Опитах различни промени, но не стана. Благодаря.

0
MartinBG avatar MartinBG 4803 Точки

Не си дал условията на задачите и линкове към Judge, а и от и кода не става много ясно кое какво е, но например в тази задача създаваш някакви променливи bit, uan, com от аргументите, които по-късно не използваш, а същевременно аргументите (arg1, arg2 и arg3), които са стрингове, участват в математ. изчисления в кода (от там идва и NaN резултата)::

function convert(arg1, arg2, arg3) {
    bit = Number(arg1);
    uan = Number(arg2);
    com = Number(arg3);
 
    let valueBit = (arg1 * 1168);
    let dollar = Number(1.76);
    let valueUan = (arg2 * (0.15 * dollar));
    let euro = Number(1.95);
    let valueCom = (arg3 / 100) * ((valueBit + valueUan) / euro);
    console.log(((valueBit + valueUan) / euro - (valueCom)).toFixed(2));
}

Опитай така:

function convert(arg1, arg2, arg3) {
    let bit = Number(arg1);
    let uan = Number(arg2);
    let com = Number(arg3);
 
    let valueBit = (bit * 1168);
    let dollar = 1.76;
    let valueUan = (uan * (0.15 * dollar));
    let euro = 1.95;
    let valueCom = (com / 100) * ((valueBit + valueUan) / euro);
    console.log(((valueBit + valueUan) / euro - (valueCom)).toFixed(2));
}

 

0
21/04/2020 00:16:54
MartinBG avatar MartinBG 4803 Точки

@DimiPetrov

Оказа се, че в Judge входните параметри за тези задачи се подават като масив.

 

Един от начините за решаване на проблема е да се промени сигнатурата на функциите:

 

От:

function convert(arg1, arg2, arg3) { 
... 
}

На:

function convert( [ arg1, arg2, arg3 ] ) { 
... 
}

 

0
21/04/2020 14:20:54
DimiPetrov avatar DimiPetrov 4 Точки

Благодаря. 3 от 4-те задачи се получиха, по същия начин реших и още една задача от изпитните (Food delivery).

Единствено тази (Easter Lunch) ми се опъва (конзолата продължава да не изкарва резултат) - https://judge.softuni.bg/Contests/Practice/Index/1637#0  Към нея има и файл с авторско решение - отворих го, но някои команди още са ми непознати.

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.