`
YuHuang.Neil
  • 浏览: 180745 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

互联网公司面试题之六

阅读更多
问题:给定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);               
   }       
}



运行结果为:


  • 大小: 18.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics