当前位置:首页 > 教育综合 > 正文

A+AA﹢AAA﹢A﹢AA﹦1080 求A﹦

计算a+aa+aaa+……+aa…a(n个a)的值

a+aa+aaa+……+aa…a(n个a) =a(1+11+111+……+11…1(n个1)) =a*[(10-1)/9+(100-1)/9+……+(10^n-1)/9] =a*[(10+100+……+10^n)/9-n/9] =a*[10*(1-10^n)/(1-10)/9-n/9] =a[10^(n+1)-9n-10]/81

输入2个正整数a和n,求a+aa+aaa+aa……a(n个a之和)。例如,输入2和3,输出246(2+22+222)。

是 2+ 22 +222 。。。 你的程序是 2 + 2*2 +2*2*2 。。。 如果不考录溢出的话 你可以 用 for (int i=0;i编程计算a+aa+aaa+…+aa…a的值#include #include void main() { int a,n,sum=0,temp=0; printf("input the a and n:\n"); scanf("%d%d",&a,&n); printf("sum="); for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) temp+=a*pow(10,j-1); sum+=temp; if(i==n) //cout<计算a+aa+aaa+……+aa…a(n个a)的值,n和a的值由键盘输入

#include

main()

{

long term=0,sum=0;

int a,i,n;

printf("Input a,n:")

scanf("%d,%d",&a,&n);

for(i=1;i<=n;i++)

{

term=term*10+a;

sum =sum+term;

}

printf("sum=%ld\n",sum);

}

用递归函数求a+aa+aaa+……+aa…a(n个)

#include double fun(int a,int n) { if(n==1) return (double)a; else return (fun(a,n-1)*10.0 + a); } int main() { int a,n,i; double s=0; printf("输入a和n:\n"); scanf("%d%d",&a,&n); if(!(a>0&&a<10&&n>0)) { printf("输入数据错误\n");return 1;} for(i=1;i<=n;i++) { s+=fun(a,i); } printf("%g\n",s); return
展开全文阅读