给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
输入格式:
输入在一行中给出不超过9的正整数a和n。
输出格式:
在一行中按照“s = 对应的和”的格式输出。
输入样例:
2 3
结尾无空行
输出样例:
s = 246
结尾无空行
代码:
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
int a,n;
int sum = 0,sum1 = 0;
int i;
int j = 1;
scanf("%d%d",&a,&n);
for (i = 0; i < n; i++)
{
sum += a * pow(10,i);
sum1 += sum;
}
printf("s = %d",sum1);
}
思路:
这里a*aa*aaa.....我想到了a*(10^0)+.....+a*(10^(n))以此类推的方法所以使用了math.h函数库里的pow( )这个是求指数的。
这里注意的是,一定要保留当前计算数值,然后等下一次计算完成后的这两次计算的数值相加才可,不然会造成结果每次都少加前一项的值,造成数据不准。