Solved ProjectEuler\020: php, ruby
This commit is contained in:
18
ProjectEuler/020/desc.yml
Normal file
18
ProjectEuler/020/desc.yml
Normal file
@ -0,0 +1,18 @@
|
||||
title: Find the sum of digits in 100!
|
||||
url: http://projecteuler.net/problem=20
|
||||
|
||||
desc: |
|
||||
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!
|
||||
|
||||
solution: Bruteforce
|
||||
|
||||
solutions:
|
||||
solve.php:
|
||||
desc: Basic solution
|
||||
language: php
|
||||
solve.rb:
|
||||
desc: Basic solution
|
||||
language: ruby
|
15
ProjectEuler/020/solve.php
Normal file
15
ProjectEuler/020/solve.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
define('FACTORIAL',100);
|
||||
|
||||
function factorial($num) {
|
||||
if($num == 0)
|
||||
return 1;
|
||||
else
|
||||
return bcmul($num,factorial(bcsub($num,1)));
|
||||
}
|
||||
$sum = 0;
|
||||
$fac = factorial(FACTORIAL);
|
||||
for($c = 0; $c < strlen($fac); $c++) {
|
||||
$sum += $fac[$c];
|
||||
}
|
||||
echo $sum;
|
16
ProjectEuler/020/solve.rb
Normal file
16
ProjectEuler/020/solve.rb
Normal file
@ -0,0 +1,16 @@
|
||||
FACTORIAL = 100
|
||||
def factorial(num)
|
||||
if(num == 0)
|
||||
return 1
|
||||
else
|
||||
return num * factorial(num - 1)
|
||||
end
|
||||
end
|
||||
|
||||
number = factorial(FACTORIAL)
|
||||
sum = 0
|
||||
|
||||
number.to_s.each_char do |c|
|
||||
sum += c.to_i
|
||||
end
|
||||
puts sum
|
Reference in New Issue
Block a user