Вопрос задан 05.10.2023 в 16:21. Предмет Информатика. Спрашивает Федорова Оксана.

Желательно на питоне... Банковские проценты Вклад в банке составляет x рублей. Ежегодно он

увеличивается на p процентов, после чего дробная часть копеек отбрасывается. Определите, через сколько лет вклад составит не менее y рублей. Входные данные Программа получает на вход три натуральных числа: x, p, y (x≤2000,p≤100,y≤2000). Выходные данные Программа должна вывести одно целое число — ответ на задачу. Пробовал такое, не проходит по времени: x = int(input()) p = int(input()) y = int(input()) kol = 0 while x < y: x += int(x / 100 * p) kol += 1 print(kol)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Асанова Наташа.

x = float(input())

p = int(input())

y = float(input())

years = 0

while x < y:

   x *= 1 + p / 100

   x = int(100 * x) / 100

   years += 1

print(years)

'после чего дробная часть копеек отбрасывается', а ты отбрасывал всю дробную часть, вместе с копейками.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема с вашим кодом заключается в том, что он может зациклиться в некоторых случаях из-за округления значений вклада. Вместо этого, вы можете воспользоваться математической формулой для решения этой задачи. Вот исправленный код:

python
x = int(input()) p = int(input()) y = int(input()) kol = 0 while x < y: x += x * p // 100 # Используем целочисленное деление для округления kol += 1 print(kol)

Теперь код должен работать корректно и эффективно для больших значений x, p и y.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос