解题思路:用数组存储结果,再从后往前输出结果字符。
核心代码
for(int i=n;i>0;i--,j++)
{
t=i*a+fd;//fd是进的位
fd=t/10;
res[j]=t%10;
}
if(fd!=0)
printf("%d",fd);
#include<stdio.h>
int main()
{
int res[100001]={0},a,n,j=0,t,fd=0;
scanf("%d %d",&a,&n);
if(n==0)
printf("0\n");
else
{
for(int i=n;i>0;i--,j++)
{
t=i*a+fd;//fd是进的位
fd=t/10;
res[j]=t%10;
}
if(fd!=0)
printf("%d",fd);
for(int i=j-1;i>=0;i--)
printf("%d",res[i]);
}
return 0;
}