整数数列求和(1)

22电科马子淳 2023-01-16 17:24:18

整数数列求和(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;
}

...全文
206 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

153

社区成员

发帖
与我相关
我的任务
社区管理员
  • c_university_364
  • 焚冉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧