Repairing the tiles -Java- Programming Basics -Exam 24 April 2016
Здравейте колеги,
Judge ми дава 30/100 и всеки път иска различно форматиране (един път 11 символа след запетаята, друг път 13 и т.н.).
С двата зададени в задачата теста работи в IJ .
Някой може ли да каже каква е грешката?
Това е условието https://judge.softuni.bg/Contests/Practice/Index/181#0
Това е решението за 30/100 :
package _03_24_April_2016;
import java.text.DecimalFormat;
import java.util.Scanner;
public class Repairing_The_Tiles {
public static void main(String[]args){
Scanner scanner = new Scanner (System.in);
DecimalFormat df1 = new DecimalFormat(".###########");
DecimalFormat df2 = new DecimalFormat(".############");
//вход за страна на площадката
double ground_Side = Double.parseDouble(scanner.nextLine());
double ground_Area = ground_Side * ground_Side;
//вход за ширина и дължина на плочката
double tile_Width = Double.parseDouble(scanner.nextLine());
double tile_Length = Double.parseDouble(scanner.nextLine());
double one_Tile_Area = tile_Width * tile_Length;
//вход за ширина и дължина на пейката
double bench_Width = Double.parseDouble(scanner.nextLine());
double bench_Length = Double.parseDouble(scanner.nextLine());
double bench_Area = bench_Width * bench_Length;
//брой на нужните плочки
double repairing_Area = ground_Area - bench_Area;
double number_Tiles = repairing_Area / one_Tile_Area;
//време за поправка
double time_Per_Tile = 0.2;
double time_All_Tiles = number_Tiles * time_Per_Tile;
System.out.println(df1.format(number_Tiles));
System.out.println(df2.format(time_All_Tiles));
}
}
Това е решението, което ми се получи след доста поправки и четене из форума. Накрая вече не ми се пишеха подробни имена на променливите, затова са с по една буква. Тази задача е от сложните откъм получаване на максимума.
https://pastebin.com/aZV9ndHc
Тази част с
*10%10;
....!?
:)
Това го видях в едно решение, заради различното форматиране при различни последни цифри на числото с плаваща запетая, не беше обяснено подробно, но и не намерих по-лесно решение тогава.