Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/80: Рейтинг темы: голосов - 80, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 3

Задача Сложные проценты

12.11.2020, 18:01. Показов 19605. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сложные проценты, в отличие от простых, начисляются по истечении каждого периода на сумму, включающую проценты от предыдущего периода. Однако, если вы решите забрать свои деньги до истечения договорного периода, то процент уменьшается до одного и прибыль рассчитывается только пропорционально той доле периода, которая прошла.

Напишите программу для расчёта полученной прибыли.

Формат ввода
Вводится целое число – сумма вклада.
Затем вещественное число – процент прибыли за год.
Затем число – через какое количество лет вы решили забрать свой вклад.

Формат вывода
Если прошло целое количество лет, то за каждый начисляется указанный процент, который прибавляется к сумме вклада, а следующие проценты считаются с новой суммы. Если же количество лет не целое, то за нецелую часть года проценты начисляются пропорционально прошедшей части и в размере 1%.

Выведите конечную сумму.


Пример 1.
Ввод
1000
10
2
Вывод
1210.0

Пример 2.
Ввод
1000
10
2.5
Вывод
1216.05
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2020, 18:01
Ответы с готовыми решениями:

Задача «Проценты»
Условие Процентная ставка по вкладу составляет P процентов годовых, которые прибавляются к сумме вклада. Вклад составляет X рублей Y...

Задача «Проценты»
Добрый день. Есть задача, некоторые входные данные преобразуются в правильное решение, а некоторые -- нет. Кто подскажет, что я делаю не...

Задача на сложные проценты
В этом задании вам нужно рассчитать, сколько лет нужно ждать в зависимости от заданной начальной суммы денег S, требуемой суммы R и...

8
145 / 7 / 2
Регистрация: 02.12.2020
Сообщений: 12
02.12.2020, 19:22
Python
1
2
3
4
5
6
7
8
9
10
11
n = int(input())
p = float(input())
t = float(input())
for i in range(int(t // 1)):
    n += (n / 100) * p 
if t == t // 1:
    print(n)
    exit()
x = t - (t // 1)
n += n * x * 0.01
print(n)
0
1 / 1 / 0
Регистрация: 17.07.2023
Сообщений: 36
15.05.2024, 10:07
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
a, b, c = int(input()), float(input()), input()
flag = False
f = ''
for i in c:
    if i == '.':
        flag = True        
        break
    else:
        f += i
if flag:
    for i in range(int(f)):
        a += a * (b / 100)        
    a += (a * 0.01) / 2.0
    print(a)
else:
    for i in range(int(c)):
        a += a * (b / 100)
    print(a)
Решил вот таким кодом, но на 6 прогоне выдает чуток не тот ответ. Что можно в коде скорректировать?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.05.2024, 11:22
Цитата Сообщение от monc63 Посмотреть сообщение
flag = False
f = ''
for i in c:
    if i == '.':
        flag = True        
        break
    else:
        f += i
Вот это вообще шедевр

Добавлено через 4 минуты
Если следовать этой "логике", то
Code
1
2
if '.' in c:
   целое, дробное = map(int, c.split('.'))
1
1 / 1 / 0
Регистрация: 17.07.2023
Сообщений: 36
15.05.2024, 11:44
все равно не проходит 6 тест, там вот такие данные:
975343324
4.7
9.24564204635367
Ожидаемый результат
1478233882.5568664
А мой ответ
1481984674.4885905
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.05.2024, 11:49
Цитата Сообщение от monc63 Посмотреть сообщение
А мой ответ
хехе
Хочешь фокус? Запусти -
Python
1
print(1.5 % 1)
1
1 / 1 / 0
Регистрация: 17.07.2023
Сообщений: 36
15.05.2024, 12:00
0.5, но в коде не соображу где применить.
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,927
Записей в блоге: 5
15.05.2024, 12:58
Цитата Сообщение от monc63 Посмотреть сообщение
Что можно в коде скорректировать?
Цитата Сообщение от monc63 Посмотреть сообщение
Python
1
a += (a * 0.01) / 2.0
В честь чего? Почему здесь на 2 делите? У вас разве полгода было? Нужно же использовать дробную часть года. По идее вот так можно поправить:
Python
1
a += (a * 0.01) * (float(c) - int(f))
Но точность плавающей арифметики 16 значащих цифр, ну 17. Все что дальше это шум округления. Так что с образцом ваш результат вряд ли совпадет. При проверке они должны округлять перед сравнением. Либо оговаривать, что нужно использовать Decimal и указывать, с какой точностью.

Добавлено через 10 минут
monc63, Они вам могут вообще подбросить в каком-либо тесте такое количество лет: 25.0e-1 И что будет делать ваша программа? Самостоятельная обработка на вводе плавающего числа -- плохая идея. Если только в задаче четко не оговорено, каким оно может быть.
2
1 / 1 / 0
Регистрация: 17.07.2023
Сообщений: 36
15.05.2024, 13:02
Спасибо большое)). Все остальные тесты прошел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2024, 13:02
Помогаю со студенческими работами здесь

Сложные проценты-Python
Процентная ставка по вкладу составляет P процентов годовых, которые прибавляются к сумме вклада через год.Вклад составляет X рублей Y...

сложные проценты, питон для начинающих
Нужно создать программу для высчитываний сложных процентов. На вход программа должна получать сумму депозита, желаемую конечную сумму и...

Задача B. Сложные строки
Азат в поезде купил строку s из символов a, b и c. Ему стало интересно найти ее самую длинную подстроку одного из видов: • ABA • ACA ...

Задача на вклады: простые и сложные проценты
Условия надо переписывать! Условие во вложенных файлах, подскажите, пожалуйста, верно ли решила. #include <iostream> using...

Математическая задача, сложные проценты нужна формула
данный метод работает но он снимает долг раз в год нужна формула которая будет снимать процент раз n месяцев в году. например каждые...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru