https://judge.telerikacademy.com/problem/00107interest
Здравейте,колеги ! Отдолу ще добавя моя код към задачата. Judje системата го одобрява с 3/5, но мисля,че забравям метода със закръглянето. Моля, някой да сподели къде и как трябва да го вмъкна. Благодаря Ви !
Здравей,
Аз бих използвал double вместо float.
Прочети ако имаш време и възможност някоя статия на тема каква е разликата между double и float. И разгледай използването на for - loop , за тази задача .
При този метод на закръгляне, например 2.345 ще се закръгли, с точност до 2 цифри след десетичния разделител, до 2.34, вместо, както обикновено, до 2.35.
Отпечатването на дробни числа със System.out.printf("%.2f", ...) също използва обичайното закръгляне към по-голямото число.
За да се промени поведението на DecimalFormat по отношение на закръглянето, след декаларацията на df трябва да се добави реда
This is the way I solved it . The most difficult part for me was to figure out the formula… which is very basic. Though the good thing in the task is they give you the desired answers so you spend some time figuring it out, but it works and you learn along the way. Another thing that took me some time to figure out was the correct output.
You have to use float: eg. System.out.printf("%.2f%n, one); otherwise you won’t be able to apply the constraint to print the number with two numbers after the decimal point.
Please try it yourself, Do not just copy and paste, because it is not as useful for your personal knowledge.
Good luck.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner user_input = new Scanner(System.in);
String line = user_input.nextLine();
double n = Integer.parseInt(line);
double one = n + (n*0.05);
double two = one + (one*0.05);
double three;
three = two + (two * 0.05);
System.out.printf("%.2f%n",one);
System.out.printf("%.2f%n",two);
System.out.printf("%.2f%n",three);
}