Здравейте!
Имам проблем със задачата за конверера на гориво.
В IntellyJ изписвам следния код, който работи безупречно и изпълнява всички форматни, логически и математически изисквания на задачата, но, въпреки това, получавам отговр “Wrong Answer”:
Къде греша???
public class Main {
public static void main(String[] args) {
// write your code here
    Scanner scanner = new Scanner(System.in);
        float m = Float.parseFloat(scanner.nextLine());
            if(m>=1 && m<=100) {
                double result = Math.floor(100 * 4.54 / m / 1.6);
                System.out.printf("%.0f liters per 100 km", result);
Опитах още няколко варианта, които, в IntelliJ, работят, но платформата, все така, връща “Wrong Answer”… Ето и последния от тях:
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// write your code here
    Scanner scanner = new Scanner(System.in);
        int m = Integer.parseInt(scanner.nextLine());
            if(1<=m && m<=100) {
                int result = (int) (100 * 4.54 / m / 1.6);
                System.out.println(result+" liters per 100 km");
             
            
              
              
              1 Like
            
            
                
                
              
           
          
            
            
              Здравей, може би защото изписваш “liters”, а по условие и в judge системата най-вероятно е заложено да е изписано “litres”. По-добре винаги копирай това, което се изисква като отговор, за да избегнеш такива грешки. Успех!
             
            
              
              
              2 Likes
            
            
                
                
              
           
          
            
            
              Много ти БЛАГОДАРЯ!!! 
Желая ти здрава, щастлива и успешна нова година!
Задачката стана, но, определено, имаше полза като от мъките и различните варианти, които писах, така и твоята помощ, за която, още веднъж, ти благодаря!
             
            
              
              
              1 Like
            
            
                
                
              
           
          
            
            
              Здравейте, а някой има ли идея защо в моя случай решението минава само с 40 от 100 точки:
let input = [
'44', 
];
let print = this.print || console.log;
let gets = this.gets || ((arr, index) => () => arr[index++])(input, 0);
let m = +gets(); //miles per galon
if (m >= 1 && m <= 100){;
result = Math.round(100 * 4.54 / m / 1.6);
// let rounded = Math.round(result);
console.log(`${result} litres per 100 km`);
}
             
            
              
              
              
            
            
                
                
              
           
          
            
            
              Защо имаш ; на if реда ? Отделно това в скобите не се знае в какъв ред се изпълнява , пробвай да отделиш * 100 извън скобите
             
            
              
              
              
            
            
                
                
              
           
          
            
            
              в първия случай за “;” дори не съм забелязала, както иVS 
 . А за втория - резултатът е същият - тестовете в джъдж пак ми дават 40 т, пък със зададените инпути в условието във VS  всичко си е наред.
             
            
              
              
              
            
            
                
                
              
           
          
            
            
              Math.Round може би прави проблем. Аз бих го кастнал към int
Понеже Math.Round може би го закръгля нагоре ако е над .5 , примерно ако е 14.6 ще го направи 15 , а в задачата по-скоро трябва да остане 14
             
            
              
              
              1 Like