153
社区成员
发帖
与我相关
我的任务
分享整数数列求和(1)
描述
求Sn = a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ),其中 a 是一个1~9的数字,例如: 2 + 22 + 222 + 2222 + 22222 (此时 a=2 n=5 )
输入
输入占一行,包括两个整数,第一个为a,第2个为n(1 ≤ a,n ≤ 9),以空格分隔
输出
输出一行,Sn的值。
样例
输入
2 3
输出
246
题解
找到规律:a+(a+a*10)+(a+a*10+a*100)+...+(a+a*10+...+a*10ⁿ)。定义b储存10的n次方,定义c
储存每项的值,定义s储存n项相加的值,最后输出s
AC
#include<iostream>
using namespace std;
int main()
{
int a;
int n;
while(cin >> a >> n) {
int b=1;
int c=0;
int s=0;
for(int i=1; i<=n; i++) {
c+=a*b;
s+=c;
b*=10;
}
cout << s << endl;
}
return 0;
}