/*
* 一个C语言的小练习
* 求实现 a + aa + aaa + aaaa + aaaaa........ 的和。
* **/
#include <stdio.h>
#include "math.h"
//递归函数
unsigned int f(unsigned int a, unsigned int n)
{
if(n == 0 )
return 0;
else
return a*(powl(10, n - 1)) + f(a, n - 1);
}
unsigned int fac(unsigned int a, unsigned int n)
{
unsigned int j , sum = 0;
int tmp = 0;
#if 1
for(j = n; j>= 1 ; j--) //j表示最终的sum和个数
{
tmp = f(a, j);
sum += tmp;
}
#else
tmp = a;
for (j = 0; j < n; j++) {
sum = sum + a;
a = (10 * a) + tmp;
}
#endif
return sum;
}
int main() {
printf("Hello, World! 8----5: %d \n", fac(8, 5));
return 0;
}