`

Factorial digit sum (without BigInteger)

阅读更多

 

Factorial digit sum

n! means n × (n − 1) × ... × 3 × 2 × 1

For example, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800,
and the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.

Find the sum of the digits in the number 100!

From: https://projecteuler.net/problem=20

Solution:

public static int sumFactorialDigits(int n) {
	int sum = 0, carry = 0;
	int[] digits = new int[1000];
	digits[0] = 1;
	digits[1] = 1;
	for (int k = 2; k < n + 1; k++) {
		for (int i = 1; i <= digits[0]; i++) {
			digits[i] = digits[i] * k + carry;
			carry = 0;
			if (digits[i] > 9) {
				carry = digits[i] / 10;
				digits[i] %= 10;
				if (i == digits[0])
					digits[0]++;
			}
		}
	}
	for (int i = digits[0]; i >= 1; i--)
		sum += digits[i];
	return sum;
}

 

 

Reference:

http://stackoverflow.com/questions/19334939/factorial-digit-sum-without-bigint-c

分享到:
评论

相关推荐

    下面是一个用Python编程求阶乘和数的例子: def factorial(n): if n == 0 or n ==

    factorial_sum = sum(factorial(digit) for digit in digits) return factorial_sum # 测试 num = 145 result = factorial_sum(num) print("阶乘和数为:", result) 运行这段代码,输出结果为: 阶乘和数为: 145 ...

    project-euler-factorial-digit-sum-nyc-web-010620

    项目Euler阶乘和 阶乘 由n!表示的非负整数n的阶乘是所有小于或... 最后,使用您作为助手编写的前两种方法,定义一个factorial_digit_sum方法并进行最后的测试通过。 资源 - 在Learn.co上查看,并开始免费学习编码。

    欧拉公式求圆周率的matlab代码-project-euler-factorial-digit-sum-online-web-sp-000:项

    欧拉公式求长期率的matlab代码项目Euler阶乘和 ...最后,使用您作为助手编写的前两种方法,定义一个factorial_digit_sum方法并进行最后的测试通过。 来源 -- 在Learn.co上查看并开始免费学习编码。

    欧拉公式求圆周率的matlab代码-project-euler-factorial-digit-sum-e-000:项目欧拉因子数字和e-00

    欧拉公式求长期率的matlab代码项目Euler阶乘和 阶乘 由n!表示的非负整数n的阶乘是所有小于或等于n的正整数...最后,使用您作为助手编写的前两种方法,定义一个factorial_digit_sum方法并进行最后的测试通过。 来源 --

    欧拉公式求圆周率的matlab代码-project-euler-factorial-digit-sum-q-000:项目欧拉因子数字和q-00

    欧拉公式求长期率的matlab代码项目Euler阶乘和 阶乘 由n!表示的非负整数n的阶乘是所有小于或等于n的正整数...最后,使用您作为助手编写的前两种方法,定义一个factorial_digit_sum方法并进行最后的测试通过。 来源 --

    阶乘之和_C语言_

    在这个程序中,`factorial`函数通过递归方式计算阶乘,而`factorial_sum`函数则遍历从1到n的所有整数,依次计算它们的阶乘并累加。`main`函数是程序的入口点,它接收用户输入的正整数n,然后调用`factorial_sum`计算...

    factorial_C++_

    在编程领域,阶乘(Factorial)是一种常见的数学运算,特别是在计算机科学中,它经常用于组合数学、概率论以及算法的复杂度分析。本项目聚焦于使用C++语言实现阶乘计算,通过一个简单的程序来展示如何在C++中进行...

    阶乘及阶乘和的两种编法

    def factorial_sum_recursive(n, fact_sum=0): if n == 0: return fact_sum else: fact_sum += factorial(n) return factorial_sum_recursive(n-1, fact_sum) def factorial(n): if n == 0 or n == 1: ...

    Factorial:计算阶乘的Java实现

    public static BigInteger factorial(int n) { BigInteger result = BigInteger.ONE; for (int i = 2; i ; i++) { result = result.multiply(BigInteger.valueOf(i)); } return result; } } ``` 这里,...

    阶乘求和.zip

    printf("Factorial sum: %llu\n", factorial_sum(numbers, array_size)); return 0; } ``` 在这个示例中,`factorial_recursive`和`factorial_iterative`分别实现了递归和迭代的阶乘计算,而`factorial_sum`函数...

    新建 DOC 文档_number_doc_

    total = sum(factorial_large(i) for i in range(1, 21)) print(total) ``` 在这个版本的代码中,我们使用了`Decimal`类型来存储和计算阶乘,确保了结果的精度。 总结起来,这个任务结合了基本的数学概念(阶乘)...

    my_factorial.rar_Factorial

    标题中的"my_factorial.rar_Factorial"暗示我们关注的主题是关于计算阶乘的程序,可能是一个名为"my_factorial"的C++源代码文件。描述提到这是一个改进后的阶乘函数,表明它可能包含了优化算法或者处理大数目的能力...

    java语言编写的1000以内的阶乘

    public static BigInteger factorial(int n) { BigInteger result = BigInteger.ONE; for (int i = 2; i ; i++) { result = result.multiply(BigInteger.valueOf(i)); } return result; } public static ...

    donet 求 大数阶乘

    Dim factorial As BigInteger = BigInteger.One For i As Integer = 1 To n factorial *= i Next Return factorial End Function Public Shared Sub Main() Dim number As Integer = 5 Dim result As ...

    简单的Java阶乘小程序factorial

    简单的Java阶乘小程序factorial,用int运算到13会出错,可改为long,再高级一点可以改成integer类

    阶乘 Factorial

    阶乘(Factorial)在数学和计算机科学中是一个常见的概念,尤其在算法设计和组合数学中扮演着重要角色。阶乘表示的是一个正整数n与小于它的所有正整数的乘积,记作n!。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。阶乘...

    Modern Theory of Factorial Design (Springer Series in Statistics)

    ### Modern Theory of Factorial Design (Springer Series in Statistics) #### 关键知识点概述 《Modern Theory of Factorial Design》是一本由Rahul Mukerjee与C.F.J. Wu合著的专业统计学著作,该书是Springer ...

    A Modern Theory of Factorial Designs

    《A Modern Theory of Factorial Designs》是Rahul Mukerjee与C.F. Jeff Wu的关于试验设计(DOE, Design of Experiments)的理论性著作。首先,需要了解试验设计(DOE)是什么,以及它在统计学和科学研究中的重要性...

    hutc-Factorial Problem 参考代码

    #### 描述:“hutc-Factorial Problem 参考代码hutc-Factorial Problem 参考代码hutc-Factorial Problem 参考代码” - 描述部分重复了三次同样的内容,这可能是无意中的复制粘贴错误。从描述中可以确定这段代码是...

    c代码-阶乘求和(while循环)

    `factorial_sum`函数通过while循环迭代1到n的每个数,计算其阶乘并累加到`sum`中。最后,结果将打印出来。 压缩包中的`main.c`文件应该包含了上述的代码实现,而`README.txt`文件可能包含有关程序的简短说明或使用...

Global site tag (gtag.js) - Google Analytics