求Sn=a+aa+aaa+…+aa…aaa(有n個a)
阿新 • • 發佈:2021-01-03
求Sn=a+aa+aaa+…+aa…aaa(有n個a)
題目分析
求Sn = a + aa + aaa + … + aa…aaa(有n個a)之值,其中a是一個數字, 為2
例如:2 + 22 + 222 + 2222 + 22222(n = 5),a,n由鍵盤輸入
輸出:24690
過程分析
利用vector向量存放2、22、222、2222、22222的值
每次往vector向量中存放一個值,就計算sum(初始化為0)
程式碼
#include<iostream>
#include<vector>
using namespace std;
vector<int> sn;
void CalSn(const int a, const int num)
{
int number = 1, i = 0;
int sum = 0;
while (i < num )
{
if (0 == i)
{
sn.push_back(a * number);
}
else
{
sn.push_back(a * number + sn.at(i - 1));
}
number = number * 10;
sum += sn.at(i);
i++ ;
}
cout <<"Sn=a+aa+aaa+…+aa…aaa(有n"<<"("<<num<<")"<<"個a"<<"("<<a<<"))的值為:" <<sum << endl;
}
int main()
{
int a = 2, n = 5;
cout << "請輸入a的值:";
cin >> a;
cout << "請輸入n的值:";
cin >> n;
CalSn(a, n );
return 0;
}