欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

习题2.3-数列求和-加强版-编程题

程序员文章站 2022-06-07 11:45:10
...

习题2.3-数列求和-加强版-编程题

解题代码

#include<stdio.h>
#define Max 100000
int main()
{
	int i, A, N, t=0;
	scanf("%d %d", &A, &N);
	char a[Max+1] = { 0 };
	if (N == 0) {
		printf("0");
		return 0;
	}
	for (i = 0; i < N; i++) {
		t += (N-i)*A;
		a[i] = t % 10;
		t = t / 10;
	}
	if (t) {
		a[i] = t;
		N++;
	}
	for (i = N-1; i >= 0; i--) {
		printf("%d", a[i]);
	}
	return 0;
}

测试结果

习题2.3-数列求和-加强版-编程题

问题整理

1.位数太大以至于不能用整型存储,只能用数组按位存储。
2.按位存储的过程中,每位相加后有可能是很多位数。
3.最终sum的位数一定不会大于N+1位。