s=a+aa+aaa+…其中a是一个数字,n表示a的位数
时间: 2023-10-25 09:08:23 浏览: 87
根据题目,我们可以得到以下等式:
s = a + aa + aaa + ... + a^n
将等式两边乘以10,得到:
10s = 10a + 10aa + 10aaa + ... + 10a^n
将原等式减去上面的等式,得到:
9s = 9a + 99a + 999a + ... + (10^n - 1)a
化简得:
9s = a(1 + 11 + 111 + ... + (10^n - 1)/9)
可以发现,括号里的内容是一个等比数列的和,通项公式为:
(10^(n-1) - 1)/9
带入原式,得到:
9s = a(10^(n-1) - 1)
最终得到:
s = a(10^(n-1) - 1)/9
相关问题
编写c程序,求s=a+aa+aaa+…其中a是一个数字,n表示a的位数
#include<stdio.h>
#include<math.h>
int main()
{
int a,n,i,sum=0;
printf("请输入a和n:");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{
sum+=a*pow(10,i-1)*n;
}
printf("s=%d",sum);
return 0;
}
求s=a+aa+aaa+...其中a是一个数字,n表示a的位数
s = a + 11a + 111a + ... + n个1a
可以用等比数列求和公式来计算:
s = a(1 - 10^n)/(1 - 10) + a(1 - 10^(n-1))/(1 - 10) + ... + a(1 - 10^1)/(1 - 10)
简化一下:
s = a(111...1 - 10^n + 111...1 - 10^(n-1) + ... + 111...1 - 10) / 9
其中,111...1表示有n个1。化简一下:
s = a(111...1 * n - (10^n + 10^(n-1) + ... + 10)) / 9
又因为10^n + 10^(n-1) + ... + 10 = 10*(10^n - 1) / 9,所以:
s = a(111...1 * n - 10*(10^n - 1) / 9) / 9
最终答案为:
s = a * (n * 10^n - 10^n + 1) / 9
阅读全文