题目:
计算 a+aa+aaa+aaaa+aaaaa+…+a…a(n个a)的值,n和a由键盘输入。
思路:
解决这种问题一般是找规律,找出通项。假设a=2 n=3那么就是2+22+222,其中22=2+2*10^2
222=2+2*10^2+2*10^3
那么我的想法就是定义a,n和一个b,让b的初始值等于a,在循环体中让b等于每一次算完的新一项,在定义一个sum用来储存每次算完的前几项和
代码示例如下:
//求sn=a+aa+aaa+aaaa+...n个a ,a是数字 ,n表示a的位数
int main()
{
int a;
int b;
printf("请输入数字:");
scanf("%d", &a);
b=a; //让b作为a每次变化后的值
int n ; //eg:
printf("请输入位数:"); //a= 2 2 2 .....
scanf("%d", &n); //b= 2 2+20 2+20+200...
int sum = 0;//存和 // sum=0 2 2+22 2+22+222 ...
for (int i = 1; i <= n; i++)
{
sum = b + sum;
b = b + a* pow(10, i); //调用pow函数 进行a*10^n操作
}
printf("Sn和为:%d", sum);
return 0;
}
输出结果:可以多试一些值
感谢观看,如果觉得有帮助,麻烦点个赞!谢谢!
越努力,越幸运!
一起加油!



