fengyun4love
2011-08-02 17:35 阅读 187
已采纳

求解代码实现

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    weixin_42565783 weixin_42565783 2011-08-02 19:03

    //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;
    }

    点赞 评论 复制链接分享
  • gao_xiaogang gao_xiaogang 2011-08-02 18:01

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

    点赞 评论 复制链接分享
  • iteye_171 iteye_171 2011-08-02 18:03

    [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]

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

    点赞 评论 复制链接分享

相关推荐