采用函数模块
代码如下:
#include<stdio.h>
void sequencesum(int *p, int m, int n)
{
int i,t,num;
t = 0;
num = 0;
if(n == 0) //0个A,单独输出
{
printf("0");
}
else
{
for(i=n;i>=1;i--) //逆序存储,从最低位开始
{
p[t++] = n*m;
n = n-1;
}
t = t-1; //找到数组最后一个元素的下标
for(i=0; i<=t; i++) //用数组进位
{
num = p[i]/10;
p[i]=p[i]%10;
if(i != t)
{
p[i+1] = p[i+1]+num;
}
}
t = t+1; //数组最后一个下标的再下一个下标,此时为空,可以放数据
for(;num>0;) //把最高位往前推
{
p[t++] = num%10;
num = num/10;
}
for(i=t-1; i>=0; i--) // 逆序输出数组元素
{
printf("%d",p[i]);
}
}
}
int main()
{
int a[518028]; //int型数组最大容量
int A,N;
scanf("%d%d",&A,&N);
sequencesum(a, A, N);
return 0;
}