习题6-2 使用函数求特殊a串数列和 (20 分)
1. 题目摘自
https://pintia.cn/problem-sets/12/problems/309
2. 题目内容
给定两个均不超过 9
的正整数 a
和 n
,要求编写函数求 a+aa+aaa++⋯+aa⋯a(n个a)
之和。
函数接口定义:
int fn( int a, int n );
int SumA( int a, int n );
其中函数 fn
须返回的是 n
个 a
组成的数字;SumA
返回要求的和。
输入样例:
2 3
输出样例:
fn(2, 3) = 222
s = 246
3. 源码参考
#include<iostream>
#include<math.h>
using namespace std;
int fn(int a, int n);
int SumA(int a, int n);
int main()
{
int a, n;
cin >> a >> n;
cout << "fn(" << a << ", " << n << ") = " << fn(a, n) << endl;
cout << "s = " << SumA(a, n) << endl;
return 0;
}
int fn(int a, int n)
{
int s = 0;
while (n)
{
s += a * pow(10, n - 1);
n--;
}
return s;
}
int SumA(int a, int n)
{
int s = 0;
while (n)
{
s += fn(a, n);
n--;
}
return s;
}