求解代码实现

问题是这样的
求 a+aa+aaa+.......+aaaaaaaaa=?
其中a为1至9之中的一个数,项数也可以指定?
打个比方,假如a是3,项数是5,那么算法应该是3+33+333+3333+33333,

求教怎么样用代码实现结果输出[color=darkred][/color][size=large][/size]

3个回答

//element:你的a元素;tiem:为项目数
private static long account(int element ,int item){
if(element9){
System.out.println("element 只能是1至9之中的一个数!");
return 0;
}
long result=0;
long currNumber=0;
long bi=1;
for(int i=0;i<item;i++){
currNumber=element*bi+currNumber;
result+=currNumber;
bi*=10;
}
return result;
}

代码实现结果输出[color=darkred][/color][size=large][/size]
这句话没看懂 :(

[code="java"]public class Main {

private static BigInteger getValue(int element, int num) {

    StringBuilder strElement = new StringBuilder(num+1);
    for(int i = 0 ; i < num; i++) {
        strElement.append(element);
    }
    BigInteger value = new BigInteger(strElement.toString());
    BigInteger answer = new BigInteger(strElement.toString());
    for(int i = 0; i < num-1; i++) {
        value = value.divide(new BigInteger("10"));
        answer = answer.add(value);
    }
    return answer;
}

public static void main(String[] args) {

    BigInteger answer  = null;
    //第一个是你的a,第二个参数就是项数
    answer = getValue(3, 5);
    System.out.println(answer.toString());
}

}[/code]

没有去考虑算法优化。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问