对于问题:给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和。我写的用C写的代码如下:
#include
#include
int f(int i,int a);
int main(){
int a,n;
long sum;
scanf("%d%d",&a,&n);
for(int i=1,sum=0;i<=n;i++){
sum+=f(i,a); //对于i的每次循环,调用f函数
}
printf("%ld",sum);
return 0;
}
//对于i变量,求出a*11...11(i个1)
int f(int i,int a){ //例如当i=4
int j;
for(j=0;i>=1;i--){
j+=pow(10,i-1); //当i=4时,则有j=10^3+10^2+10^1+10^0=1111,正好是4个1
}
return a*j; //返回a*1111
}
请问各位大神,我错哪了
在这里,j起到的是一个累计的作用,类似于sum,所以要初始化成0........并且要是按你说的改成for(j=0;j>=1;j--),j本来就等于0,还自减,不可能会满足判断条件j>=1的........
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。