输入:
2
1
1
1
6
输出:
2
10
#include <iostream>
#include <vector>
using namespace std;
//递归方式
int CountNum(int m, int n)
{
int sum = 0;
if (n <= 4)
{
sum = (n + 1) * m;
}
if (n > 4)
{
sum = m * (CountNum(m, n - 1) + CountNum(m, n -4));
}
return sum;
}
int main()
{
int num;
cin >> num;
vector<int> result(num, 0);
int res = 0;
for(int i = 0; i< num; i++)
{
int m,n;
cin >> m >> n;
//非递归
vector<int > ans(n, 0);
for (int j = 0; j < n; j++)
{
if (j <= 4)
{
ans[j] = (j + 2) * m;
}
int temp = j;
while (temp - 4 >= 0)
{
ans[j] = ans[j - 1] + ans[j - 4];
temp--;
}
}
res = ans[n -1];
cout << res << endl;
/*
//递归
sum[i] = CountNum(m, n);
cout << sum[i] << endl;
*/
}
return 0;
}