输入两个正整数,求a+aa+aaa+…的和
时间: 2023-10-25 15:10:41 浏览: 33
这里的a+aa+aaa+…可以看作一个等比数列,公比为10,首项为a,因此可以利用等比数列求和公式来计算。
设这个等比数列的和为S,则有:
S = a + 10a + 100a + 1000a + …
= a + 10(a + 10a) + 10^2(a + 10a) + 10^3(a + 10a) + …
= a + 10S - 9a
= 9S = 9a + 10a + 100a + 1000a + …
化简得:
S = (10a + a + 10a + 100a + 1000a + …) / 9
= (a + 10a + 100a + 1000a + …) / 9 * 10
= (a * (10^n - 1)) / 9
其中n为要求的项数。
因此,只需要输入a和n,就可以得到a+aa+aaa+…的和。
相关问题
输入两个正整数a和n,求a+aa+aaa
+...+aa...a(n个a)的和。
这道题可以使用循环来解决。首先定义一个变量sum,用于存储和,然后使用一个循环,从1到n,每次将a、aa、aaa...aa...a(n个a)加起来,加完后将结果累加到sum中。最后返回sum即可。
具体实现可以参考以下代码:
def sum_of_sequence(a, n):
sum =
for i in range(1, n+1):
sum += int(str(a)*i)
return sum
其中,int(str(a)*i)表示将a重复i次,并将结果转换为整数类型。
例如,当a=2,n=3时,sum_of_sequence(2, 3)的结果为246。
解释:2+22+222=246。
c语言编写程序,求a+aa+aaa+aa…a:,输入两个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。
这是一个c语言编写程序,求a+aa+aaa+aa…a的问题。给定两个正整数a和n,要求输出它们的和。可以使用两个函数来实现,一个是fn函数,用来返回一个n个a组成的数,另一个是SumA函数,用来求a+aa+aaa+aa…a(n个a)之和。具体实现可以参考以下代码:
```
#include <stdio.h>
//返回n个a组成的数字
int fn(int a, int n) {
int sum1 = 0;
//数是n位数就进行n次加法运算求和
for(int i = 1; i <= n; i++) {
sum1 += a;
a *= 10;
}
return sum1;
}
//返回要求的和
int SumA(int a, int n) {
int sum2 = 0; //sum2用来求n个a
int sign = 0; //sign用来存最终的和
for(int i = 1; i <= n; i++) {
sum2 += fn(a, i);
sign += sum2;
}
return sign;
}
int main() {
int a, n;
scanf("%d %d", &a, &n);
printf("%d\n", SumA(a, n));
return 0;
}
```