C++求a+aa+aaa+aaaa+....+aa..aa

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:39:41
我写的是
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,n;
int i,j;
long sum1;
static long sum;
cin >>a >>n;
for(i=1;i<=n;i++)
{
sum1=a;
for(j=1;j<=i;j++)
{
sum1=sum1+pow((double)10,(j-1))*a;
}
sum+=sum1;
}
cout<<sum<<endl;
return 0;
}
但结果出来却不对,能帮忙找出下错误么,谢谢

你用POW函数怎么还用着双重循环呢?
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,n;
int i;
long sum=0;

cin >>a >>n;
sum = a;
for(i=1;i<n;i++)
{
sum += pow((double)a, i+1);
}

cout << sum << endl;
return 0;
}

错误:
for(i=1;i<=n;i++)
{
sum1=a;

sum1=a; 不应该在FOR 里面

是你的sum的问题。。没有赋值为0;

你把两个算式都放到一个for里就可以了
sum1=sum1+pow((double)10,(j-1))*a;
sum+=sum1;

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,n;
int i;
long sum=0;

cin >>a >>n;
sum = a;
for(i=1;i<n;i++)
{
sum += pow(a, i+1);
}

cout << sum << endl;
return 0;
}