题目
求s=a+aa+aaa+aaaa+aa…a的值,数字个数为n,其中a是一个数字。例如2+22+222+2222+22222(此时n=5)
思路
由于aa…a是一个整数,这样基本排除要考虑越界问题,所以不用往大数方向考虑。
个位数就是n个a相加也就是a*n,十位数也就是a*(n-1)……
各个位置上的数乘以权值相加即可。
代码
private static void add_N1() {
int n=3;
int a=6;
int x=0,y=0;
for (int i = 0; i < n; i++) {
x=a*(n-i);
y+=

该博客讨论了一道面试算法题,即如何求解s=a+aa+aaa+…+an,其中a是单个数字,n表示a的重复次数。博主提出思路是从个位到高位逐位计算,每个位上数字乘以对应权重求和,避免了大数运算。并邀请读者分享更优算法。
最低0.47元/天 解锁文章
513

被折叠的 条评论
为什么被折叠?



