2. Poll (April 14-15)
Здравейте. Днес се натъкнах при проблем с решаването на втора задача от изпита през 14-15 април и не мога да разбера къде ми е грешката. Първоначално в judge ми изписваха грешките и самият вход при който се получават. Оправих ги и след като пробвах отново, получавах същите резултати в IDE-то. След като я submit-нах в judge-а ми изписа, че имам 50/50, но не ми показва самата грешка и входа, при който се получава. Оставям кода и условието. Благодаря предварително :)
Условие - https://softuni.bg/downloads/svn/programming-basics/2018-02/Exam/Problem%2002%20-%20Poll.pdf
Код:
package April14_15;
import java.util.Scanner;
public class Poll {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int participants = Integer.parseInt(scanner.nextLine());
int votesForLanguageOne = Integer.parseInt(scanner.nextLine());
double votesForLanguageTwo = votesForLanguageOne - (votesForLanguageOne * 0.20);
double votesForLanguageThree = votesForLanguageTwo - (votesForLanguageTwo * 0.10);
double votesForTheFirstThreeLanguages = votesForLanguageOne + votesForLanguageTwo + votesForLanguageThree;
String text1 = "First three languages have";
String text2 = "votes more";
String text3 = "votes less of half votes";
double difference = Math.abs(votesForTheFirstThreeLanguages - (participants/2));
if (votesForTheFirstThreeLanguages >= (participants/2)) {
System.out.printf("%s %.0f %s", text1, difference, text2);
} else {
System.out.printf("%s %.0f %s", text1, difference, text3);
}
}
}
Здравей. Помогнаха ми за проблема. Грешката се получава, защото след като намерим сумата от 3-те езика, не използваме Math.floor(). С цели числа работи и при мен, но ако от входа се получат дробни числа няма да стане и слагаме Math.floor(), защото ако имаме 24.88(например), все още не е цял глас :) Ако го използваш, ще имаш 100/100.
Благодаря , качвам кода с Math.floor() , за да може и за напред да се провери от ноякого , ако има нужда ;) Благодаря !!!
https://pastebin.com/vWNiDKpy
Здравей колега! Пробвай по този начин, защото по твоя като пробвам с дадените примери получаваш 35 вместо 36. По този начин би трябвало всичко да е наред. :)