求s=a+aa+aaa+aaaa+aa…a的值
时间: 2023-04-28 15:03:02 浏览: 61
这个式子可以写成:
s = a + 10a + 100a + 100a + ... + 10^(n-1)a
其中,n表示a的位数。
我们可以把这个式子拆开,得到:
s = a(1 + 10 + 100 + 100 + ... + 10^(n-1))
这个括号里面的式子是一个等比数列的和,可以用公式求出:
1 + 10 + 100 + 100 + ... + 10^(n-1) = (10^n - 1) / 9
把这个式子代入原式,得到:
s = a(10^n - 1) / 9
所以,s的值就是a乘以10的n次方减1,再除以9。
相关问题
求s=a+aa+aaa+aaaa+aaaaa
以下是两种求s=a+aa+aaa+aaaa+aaaaa的方法:
方法1:
```python
a = int(input("请输入a的值:"))
n = 5
s = 0
for i in range(1, n+1):
s += int(str(a)*i)
print("s=", s)
```
方法2:
```c
#include <stdio.h>
#include <math.h>
int main(){
int n,s=0,i=1,a,t=0;
scanf("%d",&a);
while(i<=5){
t=t+a;
s=s+t;
a=a*10;
i++;
}
printf("s=%d",s);
return 0;
}
```
编写程序求s=a+aa+aaa+aaaa+aa…a的值
题目描述:
对于给定的整数n,求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字(0<=a<=9),例如2+22+222+2222+2…2(此时n=5)。
输入:
输入一个正整数n和一个数字a。
输出:
输出一个数s,表示s=a+aa+aaa+aaaa+aa…a的值。
样例输入:
5 2
样例输出:
24690
解题思路:
本题可以采用数学方法,将每一项进行拆分,然后求和即可。设每一项的值为t,则:
t = a + aa + aaa + … + aaaa(共有i个a)
t * 10 + a = aa + aaa + … + aaaa + aaaaa(共有i+1个a)
两式相减,得:
t * 9 = aaaaa - a
因此,
t = (aaaaa - a) / 9
最终将每一项的值加起来即可。
具体实现见代码: