整数数列求和(1)

算法逐出我的生活(#-.-) 算法逐出我的生活(#-.-) 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

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

...全文
评论
收藏 已收藏
分享
返回顶部