Здравейте!
Имам проблем със задачата за конверера на гориво.
В 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
Много ти БЛАГОДАРЯ!!!
Желая ти здрава, щастлива и успешна нова година!
Задачката стана, но, определено, имаше полза като от мъките и различните варианти, които писах, така и твоята помощ, за която, още веднъж, ти благодаря!
2 Likes
Здравейте, а някой има ли идея защо в моя случай решението минава само с 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