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 相加的形式:

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

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

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

i = 0 n = a 1 0 i ( n i ) \displaystyle\sum_{i=0}^n=a*10^i*(n-i)

参考解答(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;
}
发布了125 篇原创文章 · 获赞 8 · 访问量 5433

猜你喜欢

转载自blog.csdn.net/weixin_44421292/article/details/104491861