Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.02.2022
Сообщений: 24
1

В банк сделали 2 вклада - один вклад 100000 рублей под 10% годовых второй 200000 рублей

21.09.2022, 19:40. Показов 973. Ответов 9

Author24 — интернет-сервис помощи студентам
В банк сделали 2 вклада - один вклад 100000 рублей под 10% годовых второй 200000 рублей под 2% годовых вывести изменение суммы вкладов по годам до тех пор пока сумма на первом вкладе не превысит сумму на втором
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2022, 19:40
Ответы с готовыми решениями:

Начальный вклад в банк составляет a рублей. Через сколько лет он станет больше b рублей? (Repeat-until)
Найти алгоритм решения задачи и реализовать ею в виде Паскаль-програмы с помощью оператора...

Определить через сколько месяцев размер вклада превысит 12000 рублей, если каждый месяц он пополняет вклад на х рублей?
Задача с циклом Repeat Гражданин 1 марта открыл счет в банке, вложив 1000 рублей. Через каждый...

Банк принимает вклад на срок 3 месяца под 11% годовых или на 6 месяцев под 13% годовых
Банк принимает вклад на срок 3 месяца под 11% годовых или на 6 месяцев под 13% годовых. Как...

Иван кладет в банк x рублей под a процентов годовых на n лет
Иван кладет в банк x рублей под a процентов годовых на n лет. Напишите функцию, которая возвращает...

В банк положили х рублей под 3% годовых,какой станет сумма через у лет
В банк положили х рублей под 3% годовых,какой станет сумма через у лет. Решить с использованием...

9
729 / 435 / 66
Регистрация: 22.12.2013
Сообщений: 2,292
Записей в блоге: 19
21.09.2022, 20:52 2
и? Это задача? Просьба? Предложение?
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
21.09.2022, 21:03 3
Ну нормально, 10% сейчас трудно найти. Хороший вклад. А вот второй, нужно снять, и переложить туда же куда и первый.
2
Эксперт по электронике
2880 / 1927 / 527
Регистрация: 04.09.2018
Сообщений: 6,594
Записей в блоге: 4
21.09.2022, 22:07 4
Лучший ответ Сообщение было отмечено Taktik02 как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Deposit {
    float startSum, totalSum, margin;
    int percent;
 
    public Deposit(float startSum, int percent) {
        this.startSum = totalSum = startSum;
        this.percent = percent;
        margin = startSum * percent / 100;
    }
 
    public float getTotalSum() {
        return totalSum;
    }
 
    public void YearPassed() {
        totalSum += margin;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Main {
    public static void main(String[] args) {
        Deposit depo1 = new Deposit(100000, 10);
        Deposit depo2 = new Deposit(200000, 2);
 
        int years = 0;
        while (depo2.getTotalSum() > depo1.getTotalSum()) {
            depo1.YearPassed();
            depo2.YearPassed();
            years++;
            System.out.println("Year " + years + ": " + "Dep1 sum: " +
                    depo1.getTotalSum() +
                    " Dep2 sum: " +
                    depo2.getTotalSum());
        }
    }
}
Код
Year 1: Dep1 sum: 110000.0 Dep2 sum: 204000.0
Year 2: Dep1 sum: 120000.0 Dep2 sum: 208000.0
Year 3: Dep1 sum: 130000.0 Dep2 sum: 212000.0
Year 4: Dep1 sum: 140000.0 Dep2 sum: 216000.0
Year 5: Dep1 sum: 150000.0 Dep2 sum: 220000.0
Year 6: Dep1 sum: 160000.0 Dep2 sum: 224000.0
Year 7: Dep1 sum: 170000.0 Dep2 sum: 228000.0
Year 8: Dep1 sum: 180000.0 Dep2 sum: 232000.0
Year 9: Dep1 sum: 190000.0 Dep2 sum: 236000.0
Year 10: Dep1 sum: 200000.0 Dep2 sum: 240000.0
Year 11: Dep1 sum: 210000.0 Dep2 sum: 244000.0
Year 12: Dep1 sum: 220000.0 Dep2 sum: 248000.0
Year 13: Dep1 sum: 230000.0 Dep2 sum: 252000.0
Year 14: Dep1 sum: 240000.0 Dep2 sum: 256000.0
Year 15: Dep1 sum: 250000.0 Dep2 sum: 260000.0
Year 16: Dep1 sum: 260000.0 Dep2 sum: 264000.0
Year 17: Dep1 sum: 270000.0 Dep2 sum: 268000.0
Добавлено через 29 секунд
P.S. Без капитализации.
1
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 280
22.09.2022, 11:20 5
К вопросу о вычислении процентов. Нашёл вот такой код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.math.BigInteger;
 
public class BankPercents {
 
    // дробная часть, необходимо увеличить для повышения точности
    static BigInteger multiplier = new BigInteger("100000");
 
    // 2%
    static BigInteger divider = new BigInteger("50");
 
    public static void main(String[] args) {
 
        BigInteger deposit = new BigInteger("10000000").multiply(multiplier); // 1000.00 $
 
        for (int year = 1; year <= 5; year++) {
            deposit = deposit.add(deposit.divide(divider));
            log(year, deposit);
        }
    }
 
    public static void log(int year, BigInteger deposit) {
        BigInteger amount = deposit.divide(multiplier);
        System.out.println("За " + year + " год, на вашем счету появилась " + amount + " сумма центов");
    }
}
Код взят

Никак не могу понять, а где собственно тут проценты? Вроде бы считает. Никаких формул. Одни методы. Не могу понять почему стоит 50, когда надо вычислить 2%?

Ссылку на исходник не дали воткнуть. Там ещё было сказано, что для денег лучше использовать long или BigInteger.
0
Эксперт по электронике
2880 / 1927 / 527
Регистрация: 04.09.2018
Сообщений: 6,594
Записей в блоге: 4
22.09.2022, 14:42 6
Цитата Сообщение от Kamazov Посмотреть сообщение
что для денег лучше использовать long или BigInteger
Кто такую чушь сказал?
Цитата Сообщение от Kamazov Посмотреть сообщение
Никаких формул. Одни методы.
BigInteger это обертка, которая включает в себя массу методов. В этом коде используется .multiply() и .divide(), в них и происходит вычисление. Только не ясно чего.
0
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 280
22.09.2022, 15:27 7
Цитата Сообщение от wizard41 Посмотреть сообщение
Кто такую чушь сказал?
Цитата:
"Нельзя деньги считать в double, это связано с особенностями точности представления числа (IEEE754), хочу заметить эту ошибку можно встретить во многих реальных системах в продакшене. Считайте в long или BigInteger копейки или любые доли копеек, в зависимости от необходимой точности."

А вот это я взял с хабра:

"Самым распространённым форматом работы с вещественными числами в памяти компьютера является плавающая (двоичная) точка — floating (binary) point, когда числа хранятся в виде M*2^E, где M и E — целые мантисса и порядок числа. Но некоторые числа, например 0.1, невозможно точно представить в этом формате. Поэтому в ходе сложных вычислений неизбежно накапливается некоторая ошибка. То есть результат машинного вычисления, скажем 0.1 + 0.1 + 0.1, не совпадает с математически правильным 0.3."
0
Эксперт по электронике
2880 / 1927 / 527
Регистрация: 04.09.2018
Сообщений: 6,594
Записей в блоге: 4
22.09.2022, 15:32 8
Kamazov, все хорошо в меру. Как это догма относится к данной задаче?
В других ЯП деньги вообще в decimal считают.
0
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 280
22.09.2022, 17:01 9
Цитата Сообщение от wizard41 Посмотреть сообщение
Kamazov, все хорошо в меру. Как это догма относится к данной задаче?
Никак. Суть моего вопроса была в коде, который я выложил. Я там ничего не понял.
0
Эксперт по электронике
2880 / 1927 / 527
Регистрация: 04.09.2018
Сообщений: 6,594
Записей в блоге: 4
22.09.2022, 17:11 10
Цитата Сообщение от Kamazov Посмотреть сообщение
Я там ничего не понял
Так и не надо понимать. Этот код - какая-то чушь.
1
22.09.2022, 17:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2022, 17:11
Помогаю со студенческими работами здесь

Определить, через сколько лет вклад превысит 200000 рублей
Ввести начальный вклад клиента в банк и процент годового дохода. Определить, через сколько лет...

Сколько денег нужно положить в банк, чтобы через 50 лет было 50 тыс. рублей под n % годовых
Сколько денег нужно положить в банк, чтобы через 50 лет было 50 тыс. рублей под n % годовых. ...

Начальный вклад в банк составляет а рублей. Каждый год вклад увеличивается на 3%. Через сколько лет он станет больше b
Что не так? В питоне ещё чайник now = float(input('Введите начальный взнос: ')) last =...

Человек вложил в банк X рублей под y процентов годовых. Начисления по процентам происходят каждый месяц, проценты на прибыль тоже учитываются. Выяснит
Ребята, помогите пожалуйста решить :umnik: Человек вложил в банк X рублей под y процентов годовых....

Первоначальный вклад составил S рублей. Через сколько лет сумма вклада более чем в 2 раза превысит первоначальный вклад,
Первоначальный вклад составил S рублей. Через сколько лет сумма вклада более чем в 2 раза превысит...

Бизнесмен взял ссуду M тысяч рублей в банке под 20% годовых. Через сколько лет его долг превысит S тысяч рублей, если за
Бизнесмен взял ссуду M тысяч рублей в банке под 20% годовых. Через сколько лет его долг превысит S...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru