PTA|《C语言程序设计实验与习题指导(第3版)》实验4-1-7 特殊a串数列求和 (20分)

题目

给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。

输入格式:
输入在一行中给出不超过9的正整数a和n。

输出格式:
在一行中按照“s = 对应的和”的格式输出。

输入样例:

2 3

输出样例:

s = 246

公式解析

将所有项分解为 a ∗ 1 0 n a*10^n a10n相加的形式:

a + a a + a a a + + ⋯ + a a ⋯ a    ⟺    a+aa+aaa++⋯+aa⋯a\iff a+aa+aaa+++aaa

a ∗ 1 0 0 + ( a ∗ 1 0 1 + a ∗ 1 0 0 ) + ( a ∗ 1 0 2 + a ∗ 1 0 1 + a ∗ 1 0 0 ) + ⋯ + ( a ∗ 1 0 n − 1 + a ∗ 1 0 n − 2 + ⋯ + a ∗ 1 0 0 )    ⟺    a*10^0+(a*10^1+a*10^0)+(a*10^2+a*10^1+a*10^0)+⋯+(a*10^{n-1}+a*10^{n-2}+⋯+a*10^0)\iff a100+(a101+a100)+(a102+a101+a100)++(a10n1+a10n2++a100)

a ∗ 1 0 0 ∗ n + a ∗ 1 0 1 ∗ ( n − 1 ) + a ∗ 1 0 2 ∗ ( n − 2 ) + ⋯ + a ∗ 1 0 n − 1 ∗ 1    ⟺    a*10^0*n+a*10^1*(n-1)+a*10^2*(n-2)+⋯+a*10^{n-1}*1\iff a100n+a101(n1)+a102(n2)++a10n11

∑ i = 0 n = a ∗ 1 0 i ∗ ( n − i ) \displaystyle\sum_{i=0}^n=a*10^i*(n-i) i=0n=a10i(ni)

参考解答(AC代码)

#include<stdio.h>
#include<math.h>
int main(){
    int a,n,sum=0;
    scanf("%d %d",&a,&n);
    for(int i=0;i<n;i++){
        sum+=a*pow(10,i)*(n-i);
    }
    printf("s = %d",sum);
    return 0;
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值