Нулевите минават ли ти? На пръв поглед groundLength ти е интиджър. Да ли всеки път ще ти подават цяла дължина!
Ето нулевите тестове. :(
groundFullArea трябва да го кастнеш към double. Пробвай после и с BigDecimal ако не стане, просто задачата от C# не е преправена за java. Понеже java смята по-точно и за това има разминаване. Но няма как да тествам сега, не съм на компютър.
И аз имам проблем със същата задача, пробвах с кастване и форматиране на резултата, но ми прибавя по една допълнителна цифра на един от нулевите тестове, на другия дава верен резултат. Не знам къде има грешка.
Това е моя код.
import java.util.Scanner; /** * Created by Tatyana64 on 6.3.2017 г.. */ public class tiles240416 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int side = Integer.parseInt(scan.nextLine()); double widthTile = Double.parseDouble(scan.nextLine()); double heightTile = Double.parseDouble(scan.nextLine()); int widthSeat = Integer.parseInt(scan.nextLine()); int heightSeat = Integer.parseInt(scan.nextLine()); double areaFull = (double)(side * side); double areaSeat = widthSeat * heightSeat; double forRepair = areaFull - areaSeat; double areaTile = widthTile * heightTile; double countTiles = forRepair / areaTile; double min = countTiles * 0.2; System.out.println(countTiles); System.out.println(min); } }
Ето мое решение минава със 100 точки в judge
http://pastebin.com/typfbR1Y
Исползвам DecimalFormat
Здравей,ето линк към моето решение http://pastebin.com/uBsNgaCi минава със 100 точки в judge.Дано съм бил полезен!
Не мога да ти отворя решението.
Но все пак: аз съм използвала decimal за тип данни и минава със сто:
По условие би трябвало да е цяло число. Пробвах задачата , като го смених всичко на double , и пак е 0/100 .
Проблема според мен е в самото принтиране. В джъджа гледам ,че показва макс 15 цифри за цялото число. Примерно ако е 13.353 остава 13.353 , но ако е 12345.789123456789123456 го отрязва до общо 15 цифри 12345.3123123123. Според мен трябва да се форматира изхода. Не съм писал на Java , но предполагам ,че трябва да е нещо от тоя сорт
System.out.format("%15f%n", platesNeeded);
System.out.format("%15f%n", timeNeeded);
Въпроса е как да зададем макс 15 цифри за цялото число, а не да е точно 15 цифри :) . Почти съм убеден ,че там е грешката , само трябва да се намери правилно форматиране.
По условие би трябвало да е цяло число. Пробвах задачата , като го смених всичко на double , и пак е 0/100 .
Проблема според мен е в самото принтиране. В джъджа гледам ,че показва макс 15 цифри за цялото число. Примерно ако е 13.353 остава 13.353 , но ако е 12345.789123456789123456 го отрязва до общо 15 цифри 12345.3123123123. Според мен трябва да се форматира изхода. Не съм писал на Java , но предполагам ,че трябва да е нещо от тоя сорт
System.out.format("%15f%n", platesNeeded);
System.out.format("%15f%n", timeNeeded);
Въпроса е как да зададем макс 15 цифри за цялото число, а не да е точно 15 цифри :) . Почти съм убеден ,че там е грешката , само трябва да се намери правилното форматиране.
%.15f -> ама много ме съмнява това да е проблема.