2021寒假ACM集训队第一次训练-搜索(一)A : 小宋银行的贷款漏洞

A : 小宋银行的贷款漏洞 2021-01-17 13:15:10

2021寒假ACM集训队第一次训练-搜索(一)A : 小宋银行的贷款漏洞

【整体思路】

<问题中的关键点在于,当贷款时间为+∞时,贷款的利率为多少。>

贷款利率的计算方法为,利率w=a1/t;

则,年利息=x*(1+w);

1、对于贷款年限为t的情况,ans=x*(1+w)t = x*(1+a1/t)t;

2、对于贷款年限为ZERO的情况,ans=x;

3、对于贷款年限为+INF的情况,ans = x*(1+w)+∞ = x*(1+a1/t)+∞;

<在高数中有一重要极限limx→+∞(1+1/x)= e;>

所以此时ans = limt→+∞(1+a1/t)= limt→+∞(1+a1/t)(t/a1)*a1 = ea1

 1 #include<stdio.h>
 2 #include<math.h>//用到pow(a,b)函数,求a的b次方
 3 int  main(){
 4     int k = 1;//标识 第k组贷款
 5     double e[10];//当借款时间无限期时
 6     e[1] = 2.718281828459045;
 7     for (int i = 2; i <= 9; i++){
 8         e[i] = pow(e[1], i);
 9     }
10     int T;//输入T组数据
11     scanf("%d", &T);
12     getchar();
13     while (T--){
14         long x;//借款金额
15         char t[5];//借款年限
16         scanf("%ld", &x);
17         getchar();
18         scanf("%s",&t);
19         getchar();
20         //当借款时间为正常年限的情况
21          if (t[0]>='0' && t[0]<='9'){
22             int j=0;//标识 t数组
23             int temp=0;//借款年限
24             double sum = x*1.0;//将整型转换为浮点型
25             while(t[j] != '\0'){
26                 temp = temp*10 + (t[j]-'0');
27                 j++;
28             }
29             double a1;//a1为x从左往右数第1个数
30             while (x>0){
31                 a1 = x%10;
32                 x = x/10;
33             }
34             for(int b=1; b<=temp; b++)
35                 sum = sum*(1+(a1*1.0)/temp);
36             long long loop=sum;//将浮点数转换为长整型
37             printf("#Case %d : %lld\n", k, loop);
38         }
39         //当借款年限为0时
40         if (t[0]=='Z') printf("#Case %d : %lld\n", k, x);
41         //当借款年限为+∞时
42         if (t[0]=='+'){
43             double sum = x * 1.0;//将整型转换为浮点型
44             int a1=0;//a1为x从左往右数第1个数
45             while (x > 0){
46                 a1 = x % 10;
47                 x = x / 10;
48             }
49             long long loop = sum*e[a1];
50             printf("#Case %d : %lld\n", k,loop);
51         }
52         k++;
53     }
54     return 0;
55 }

 

上一篇:大二上结束,近来感想篇——2021.1.20


下一篇:【python初级】 os.mkdir(path)创建目录