六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 29|回复: 0

互联网公司面试题之六

[复制链接]

升级  95.33%

154

主题

154

主题

154

主题

举人

Rank: 3Rank: 3

积分
486
 楼主| 发表于 2013-1-26 12:32:01 | 显示全部楼层 |阅读模式
问题:给定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=t=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+='0';       t[n+1]='\0';       printf("%s\n",t[0]=='0'?t+1:t);                  }       }

运行结果为:

您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表