利息計算

1914 ワード

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3837    Accepted Submission(s): 2736
Problem Description
学費を自分で解決するために、chxアルバイト収入10000元は1年定期で銀行に預けられ、年利率は3.7%だった.利率
年ごとに計算すると、100元が1年預金していることを示す利息は3.7元である.
計算して、1年365日で計算して、だからQ日の利息は
元金*3.7/100*Q/365
100日貯金した後、1年間の定期年利率は3.9%に上昇した.預金を繰り上げて全額引き出し、さらに1年定期預金する.では前の
100日は普通金利1.7%でしか計算できません.
100日間の利息と元金:10000(1+1.7/100*100/365)=10046.6 
再保存1年定期:10046.6(1+3.9/100)=10438.4 
得られた利息の元金は10438.4です. 
金利の引き上げを無視すれば、あと1年貯金します.得られた利息の元金は(定期的に引き延ばして、金利は変わらない)です. 
10000(1+3.7/100*(100+365)/365)=10471.4
 
Input
入力データは複数組あり、第1行目の整数Tは、データのグループ数である.各グループは1行5個の数を占め、Y-が格納した元金<=100000,000,
Q-保有日数<=365,e-普通金利,f-定期金利,g-引き上げ後の定期金利.
 
Output
データ群毎に2行出力.
第1行は、繰り上げて引き出した後、1年間の所得元金と利息を貯金する.
第2行、引き続き1年貯金して、Q+365日後に得た元金と利息.
 
Sample Input

   
   
   
   
4 10000 100 2.3 3.7 3.9 10000 100 1.7 3.7 3.9 10000 200 1.7 3.7 3.9 10000 300 1.7 3.7 3.9

 
Sample Output

   
   
   
   
10455.5 10471.4 10438.4 10471.4 10486.8 10572.7 10535.2 10674.1

 
#include main()
{    int n,q;
double b,y,e,f,g;
    scanf("%d",&n);
    while(n--)
    {
      scanf("%lf%d%lf%lf%lf",&y,&q,&e,&f,&g);
      if(y>100000)
                continue;
      b= y*(1+e*q/36500);
         printf("%.1lf",b*(1+g/100));
         printf("%.1lf",y*(1+f/100*(q+365)/365));
               }
               return 0;
      }