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

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 2824 Точки

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

0
DimiPetrov avatar DimiPetrov 3 Точки

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

0
MartinBG avatar MartinBG 2824 Точки

Не си дал условията на задачите и линкове към 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