Internet公司面试题之六
互联网公司面试题之六
问题:给定a和n,计算a+aa+aaa+a...a(n个a)的和,请注意a和n的取值范围分别为[1,9]和[1,100]。
答:实现代码如下:
运行结果为:
问题:给定a和n,计算a+aa+aaa+a...a(n个a)的和,请注意a和n的取值范围分别为[1,9]和[1,100]。
答:实现代码如下:
i,k,j; main(a,n){ char s[100],t[100]; for(;~scanf("%d%d",&a,&n);){ for(i=1,t[0]=s[0]=0;i<n+1;++i) {s[i]=t[i]=a;} for(i=2;i<n+1;++i) for(k=n;k>=i;--k){ t[k]+=s[k]; j=k; for(;t[j]>=10;) {t[j-1]+=t[j]/10;t[j]%=10;--j;} } if(t[1]>=10) {t[1]-=10;++t[0];} for(i=0;i<n+1;++i) t[i]+='0'; t[n+1]='\0'; printf("%s\n",t[0]=='0'?t+1:t); } }
运行结果为: