1、解决方案
不难发现,每一项都是前一项的10倍再加上这个数字,既有a(n) = 10*a(n-1) + num, 我们利用循环即可实现。
2、具体实现
int series(int num, int n)//指定一个数字num, 指定项数n
{
int result = 0;
int list = 0;
for(int i = 0; i < n ; i++ )
{
list = 10*list + num;
result = result + list;
}
return result;
}
3、测试
#include <stdio.h>
#include <math.h>
int series(int num, int n)//指定一个数字num, 指定项数n
{
int result = 0;
int list = 0;
for(int i = 0; i < n ; i++ )
{
list = 10*list + num;
result = result + list;
}
return result;
}
int main()
{
int num = 0;
int n = 0;
printf("请分别输入指定数字和前n项和的项数, 用空格隔开\n");
scanf("%d %d", &num, &n);
printf("前%d的和为%d", n, series(num, n));
return 0;
}
结果为(指定数字2,指定5项):