Java BigInteger Calculate sumOfDigits(BigInteger ab)

Here you can find the source of sumOfDigits(BigInteger ab)

Description

sum Of Digits

License

Apache License

Parameter

Parameter Description
ab a parameter

Declaration

public static long sumOfDigits(BigInteger ab) 

Method Source Code

//package com.java2s;
/**//w ww. j a  va 2 s  . c o m
 *
 * maer - Solutions to problems of Project Euler
 * Copyright (C) 2011, Sandeep Gupta
 * http://www.sangupta.com/projects/maer
 *
 * The file is licensed under the the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

import java.math.BigInteger;

public class Main {
    /**
     * @param ab
     * @return
     */
    public static long sumOfDigits(BigInteger ab) {
        String number = ab.toString();
        return sumOfDigits(number);
    }

    /**
     * @param number
     * @return
     */
    public static long sumOfDigits(String number) {
        long sum = 0;
        for (char c : number.toCharArray()) {
            sum += c - '0';
        }

        return sum;
    }

    /**
     * 
     * @param number
     * @return
     */
    public static int sumOfDigits(long number) {
        int sum = 0;

        for (; number >= 10; number /= 10) {
            sum += number % 10;
        }

        return sum + (int) number;
    }
}

Related

  1. square(BigInteger x)
  2. subArray(BigInteger[] input, int start, int end)
  3. substring(final String lhs, final BigInteger _start, final BigInteger _end)
  4. sum(BigInteger valueA, BigInteger valueB)
  5. sum(BigInteger... values)
  6. sumOfDigits(BigInteger n)
  7. trim(BigInteger bi)
  8. trim(BigInteger n)
  9. trimToPrecision(BigInteger number, int precision)