这是一道机试题,要求Java实现
本地测试用例都通过了,但平台的测试用例只通过了50%,无法得知平台使用什么测试用例。
------原题描述-------------------------------------------------------------------------------------------------------------------
题目名称:连续数求和
有这样一类数列,例如:
数列1:2, 22, 222, 2222, 22222, 222222
数列2:3, 33, 333, 3333, 33333, 333333, 333333等
其中每个数的各位数上的值相同,范围1-9。
输入:a,n,其中a是第一个数字,n是位数。输出:以上形式的数列和(即:a+2个a+..+ n个a)。
如输入:2,5
则输出最终求和:24690
(即:2+22+222+2222+22222(5个2)=24690)
输入:3,8
则输出最终求和:37037034
(即:3+33+333+3333+33333+333333+3333333+33333333(8个3)=37037034)
注意:请不要修改框架代码,完成getSum函数代码,不要修改函数名,入参,及返回值。
个人说明:
代码结构平台已预处理好,无需处理输入输出等。只需完成getSum函数,getSum函数结构如下:
public static long getSum(int a, int n) {
}
个人完整实现如下:
public static long getSum(int a, int n) {
long sum = 0;
long x = a;
for (int i = 0; i < n; i++) {
sum = sum + x;
x = x * 10 + a;
}
return sum;
}