大家好,欢迎来到IT知识分享网。
[NICA #1] 年金现值系数表
题目描述
小 A 最近在研究财务事项。
在财务计算中,年金现值系数是一个常用概念。它定义, P V I F A ( i , n ) = [ 1 − ( 1 + i ) − n ] i \mathrm{PVIFA}(i,n)=\dfrac{[1-(1+i)^{-n}]}{i} PVIFA(i,n)=i[1−(1+i)−n],其中 i i i 表示每期利率, n n n 表示年金支付天数。例如, P V I F A ( 5 % , 10 ) = [ 1 − ( 1 + 5 % ) − 10 ] 5 % = 7.7217 \mathrm{PVIFA}(5\%,10)=\dfrac{[1-(1+5\%)^{-10}]}{5\%}=7.7217 PVIFA(5%,10)=5%[1−(1+5%)−10]=7.7217。你不必在意 P V I F A \mathrm{PVIFA} PVIFA 的具体含义。
小 A 希望你能把年金现值系数以表格的形式打印出来,方便他快速查阅。具体而言,你应该输出一张表格,纵轴表示期数,横轴表示每期利率。如下图:
输入格式
输入一行,两个正整数 n n n 和 i i i,表示表格中需要绘制的行数和列数。
输出格式
输出 n + 1 n+1 n+1 行 i + 1 i+1 i+1 列的图表。规定如下:
- 第一行第一列为
\t
; - 第一行第二列起往后一共 i i i 个位置,依次输出 1 % , 2 % , … , i % 1\%,2\%,\dots,i\% 1%,2%,…,i%,以
\t
作为分隔符; - 第二行第一列起往下每行的第一列,依次输出 1 , 2 , … n 1,2,\dots n 1,2,…n,与后面的内容以
\t
作为分隔符。 - 第二行第二列开始,设当前为第 a a a 行第 b b b 列,则只需输出 P V I F A ( ( b − 1 ) % , a − 1 ) \mathrm{PVIFA}((b-1)\%,a – 1) PVIFA((b−1)%,a−1) 保留四位小数的值,以
\t
作为分隔符。 - 每行行末以
\n
作为换行符,不应出现多余的\t
。
样例 #1
样例输入 #1
10 5
样例输出 #1
1% 2% 3% 4% 5% 1 0.9901 0.9804 0.9709 0.9615 0.9524 2 1.9704 1.9416 1.9135 1.8861 1.8594 3 2.9410 2.8839 2.8286 2.7751 2.7232 4 3.9020 3.8077 3.7171 3.6299 3.5460 5 4.8534 4.7135 4.5797 4.4518 4.3295 6 5.7955 5.6014 5.4172 5.2421 5.0757 7 6.7282 6.4720 6.2303 6.0021 5.7864 8 7.6517 7.3255 7.0197 6.7327 6.4632 9 8.5660 8.1622 7.7861 7.4353 7.1078 10 9.4713 8.9826 8.5302 8.1109 7.7217
提示说明
数据保证, 1 ≤ n , i ≤ 50 1 \leq n,i \leq 50 1≤n,i≤50。
代码内容
// #include <iostream> // #include <algorithm> // #include <cstring> // #include <stack>//栈 // #include <deque>//队列 // #include <queue>//堆/优先队列 // #include <map>//映射 // #include <unordered_map>//哈希表 // #include <vector>//容器,存数组的数,表数组的长度 #include <bits/stdc++.h> using namespace std; typedef long long ll; int main() {
ll n,m; cin>>n>>m; double pvifa; for(ll i=0;i<=n;i++) {
for(ll j=0;j<=m;j++) {
if(!i&&j) cout<<"\t"<<j<<"%"; if(i&&!j) cout<<i; if(i&&j) {
pvifa=(1-1/pow(1+j*0.01,i))/(j*0.01); printf("\t%.4lf",pvifa); } } puts(""); } return 0; }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/148327.html