多项求和
【问题描述】求s=a+aa+aaa+aaaa+aaaaa+aa...a的值,其中a是一个数字,表示s由几个数相加。例如当a=3时,s等于三个数相加的和,即s=3+33+333=369。【输入形式】从键盘输入一个正整数a。
【输出形式】输出此时s的值。
【样例输入】3
【样例输出】369
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i=0,sum = 0, temp;
printf("请输入一个整数:") ;
scanf("%d",&n);
temp = n;
for(i=0;i<temp;i++)
{
printf("%d", n);
printf(" + ");
sum+=n;
n = n*10+temp;
}
printf(" = %d",sum);
return 0;
} 请输入一个整数:3
3 + 33 + 333 += 369
--------------------------------
Process exited after 1.281 seconds with return value 0
请按任意键继续. . .
请输入一个整数:4
4 + 44 + 444 + 4444 += 4936
--------------------------------
Process exited after 0.7877 seconds with return value 0
请按任意键继续. . . a = int(input())
t = a
s = 0
p = 10
for i in range(0,a):
s += t
t += a*p
p *= 10
print(s) num = input('请输入一个正整数:')
print(sum(map(lambda x:int(num * x), range(1, int(num) + 1)))) 阿萨德按时 发表于 2022-3-22 17:01
对于10以上的数字就不行了 本帖最后由 阿萨德按时 于 2022-3-23 09:31 编辑
ylhhh 发表于 2022-3-22 20:47
对于10以上的数字就不行了
楼上大佬正解,或者这样a = input()
b = []
for i in range(1,int(a)+1):
b.append(int(i*a))
print(sum(b))
页:
[1]