Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Задача

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Помогите решить задачу
borsukevich
Отправлено: 28 Ноября, 2015 - 15:12:02
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Нояб. 2015  


Помог: 0 раз(а)




Не могу понять как решить задачу:

Вы взяли кредит на сумму $summ. Каждый месяц вы выплачиваете банку 10% от начальной суммы кредита и каждый месяц банк начисляет 7% на остаток по кредиту. Найдите за сколько месяцев вы выплатите кредит в 400$ и сколько составит переплата.

Можете помочь? И + код написать?
 
 Top
dcc0
Отправлено: 28 Ноября, 2015 - 16:47:06
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Какой-то драконий банк.
Я правильно понял?

1 месяц: 400-10%+7% = 385,2
2 месяц 385,2-10%+7% 370,9476

Что такое начальная сумма кредита?

(Отредактировано автором: 28 Ноября, 2015 - 16:47:29)



-----
Март 2021. Бросил программирование
 
 Top
skiphog
Отправлено: 28 Ноября, 2015 - 20:17:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014  
Откуда: Киров, Россия


Помог: 11 раз(а)




Если я правильно понял задачу, то сумма выплаты по кредиту не меняется от месяца к месяцу, а вычисляется только один раз в зависимости от взятой суммы. Каждый месяц прибавляется только процент на остаток долга. Если это так, тогда можно сделать так Улыбка

PHP:
скопировать код в буфер обмена
  1.  
  2. // Сумма кредита
  3. $manu = 400;
  4. // Процент от начальной суммы кредита
  5. $proz = 10;
  6. // Процент начисления на остаток по кредиту
  7. $up = 7;
  8.  
  9. // Массив со стартовыми значениями можно не объявлять, но просто для удобства
  10. $arr = [
  11.   'amount' => $manu,
  12.   'month' => 0,
  13.   'overpayment' => 0,
  14.   'percent' => 0
  15. ];
  16.  
  17. // Сумма, которую нужно отдавать каждый месяц
  18. $payment = $manu - ($manu - round($manu * ($proz/100),2));
  19.  
  20. $i = 1;
  21.  
  22. while(true) {
  23.   $prom = $manu - $payment;
  24.   $arr['period'][$i]['payment'] = $payment;
  25.   $arr['period'][$i]['remainder'] = $prom + round($prom * ($up/100),2);
  26.  
  27.   if($arr['period'][$i]['remainder'] <= $payment) {
  28.     $arr['period'][$i+1]['payment'] = $arr['period'][$i]['remainder'];
  29.     $arr['period'][$i+1]['remainder'] = 0;
  30.     $arr['month'] = count($arr['period']);
  31.     //PHP 5.5+
  32.     $arr['overpayment'] =  array_sum(array_column($arr['period'], 'payment')) - $arr['amount'];
  33.     /* PHP 5.5 before
  34.     $arr['overpayment'] = array_sum(array_map(function($element) {return $element['payment'];}, $arr['period'])) - $arr['amount'];
  35.     */
  36.     $arr['percent'] = round($arr['overpayment'] / $arr['amount'] * 100);
  37.     break;
  38.   }
  39.   $manu = $arr['period'][$i]['remainder'];
  40.   $i++;
  41. }
  42.  
  43. var_dump($arr);
  44.  
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB