题目格式:

解题思路:
- 当n = 1 a = 2 注意 result = a
- 当n = 2 a = 22 result = a * 10 + result
- 当n = 3 a = 222 result = a*100 + result
也可以换种解题方法
- 当n = 1 a = 2 sum += a result = a
- 当n = 2 a = 22 sum+= result * 10 + a
- 当n = 3 a = 222 sum+= result * 10 + a
#include<stdio.h>
#include<stdlib.h>
// 习题4-4 特殊a串数列求和 (20 分) https://pintia.cn/problem-sets/12/problems/290
// 给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
// 当n = 1 a = 2 result = a
// 当n = 2 a = 22 result = a * 10 + result
// 当n = 3 a = 222 result = a*100 + result
int Calculate();
int main()
{
int sum = Calculate();
printf("s = %d", sum);
getchar();
getchar();
return 0;
}
int Calculate()
{
int a,n,i,j=1;
scanf("%d %d", &a, &n);
int result = 0; // 用来保存结果
int sum = 0;
for( i=0; i<n; i++)
{
if( i == 0 )
{
result = a;
sum += result;
continue;
}
result = result *10 + a;
sum += result;
}
return sum;
}


本文介绍了一种特殊的数列求和算法,该算法用于计算形如a+aa+aaa+...(n个a)的数列之和。通过递增地构建每个项并累加到总和中,实现了高效求解。
1649

被折叠的 条评论
为什么被折叠?



