- 整体的思路
1)存在n项相加(使用循环)
2)每一项位数在加一(使用循环)
可以将每一项拿出来分析: 第n项的数是: a+a*pow(10,1)+a*pow(10,2)+…+a*pow(10,n-1)
则可以把每一项算出来再累加,由于不能使用math函数只能用循环。
如果先给sum=a;则只需累加n-1次;
- 函数实现各自功能
int fn( int a, int n )
{
int digit,sum;
digit=a;
sum=a;
for(int i=1;i<n;i++)
{
a=digit;
for(int j=1;j<=i;j++)
{
a=a*10;
}
sum=sum+a;
}
return sum;
}
int SumA( int a, int n )
{
int sum=0;
for(int i=1;i<=n;i++)
{
sum=sum+fn(a,i);
}
return sum;
}