def problem20(n):
    """    
    >>> problem20(100)
    648
    """
    value = lib.factorial(n)
    return sum(lib.digits(value))
Example #2
0
def make_perm(digits, perm_nr):
    if len(digits) == 1:
        return [digits[0]]

    f = lib.factorial(len(digits) - 1)
    n = perm_nr / f
    return [digits.pop(n)] + make_perm(digits, perm_nr % f)
Example #3
0
 def test_factorial_non_negative_arg(self):
     self.assertEqual(lib.factorial(0), 1)
     self.assertEqual(lib.factorial(1), 1)
     self.assertEqual(lib.factorial(2), 2)
     self.assertEqual(lib.factorial(3), 6)
     self.assertEqual(lib.factorial(4), 24)
     self.assertEqual(lib.factorial(5), 120)
     self.assertEqual(lib.factorial(6), 720)
Example #4
0
 def test_factorial(self):
     self.assertEqual(lib.factorial(0), 1)
     self.assertEqual(lib.factorial(1), 1)
     self.assertEqual(lib.factorial(2), 2)
     self.assertEqual(lib.factorial(3), 6)
     self.assertEqual(lib.factorial(4), 24)
     self.assertEqual(lib.factorial(5), 120)
Example #5
0
 def test_factorial(self):
     self.assertEqual(lib.factorial(0), 1)
     self.assertEqual(lib.factorial(1), 1)
     self.assertEqual(lib.factorial(2), 2)
     self.assertEqual(lib.factorial(3), 6)
     self.assertEqual(lib.factorial(4), 24)
     self.assertEqual(lib.factorial(5), 120)
Example #6
0
def main() -> ExitStatus:
    """Accept arguments from the user, compute the factorial, and display the results."""
    colorama.init(autoreset=True, strip=False)
    args = parse_args()

    print("fact({}{}{}) = {}{}{}".format(
        colorama.Fore.CYAN,
        args.n,
        colorama.Fore.RESET,
        colorama.Fore.GREEN,
        factorial(args.n),
        colorama.Fore.RESET,
    ))
    return ExitStatus.success
Example #7
0
 def test_factorial_negative(self):
     self.assertEqual(lib.factorial(-10), 1)
Example #8
0
 def factoria(self):
     self.assertEqual(lib.factorial(0), 1)
     self.assertEqual(lib.factorial(3), 6)
     self.assertEqual(lib.factorial(-1), 0)
Example #9
0
from lib import factorial

facs = {}
for x in range(10):
    facs[str(x)] = factorial(x)

def is_curious(n):
    return sum(map(facs.get, str(n))) == n

total = 0
for x in range(10, facs["9"]*7):
    if is_curious(x):
        total += x
print total
Example #10
0
 def test_factorial_error_1(self):
     self.assertEqual(lib.factorial(-1), 1,
                      'Неверно вычисляет факториал отрицательного числа')
 def test_pos_nums(self):
     self.assertEqual(lib.factorial(0), 1)
     self.assertEqual(lib.factorial(1), 1)
     self.assertEqual(lib.factorial(5), 120)
Example #12
0
 def test_factorial_error_2(self):
     self.assertEqual(type(lib.factorial(5)), int, 'Функция возвращает не int')
Example #13
0
 def test_factotr(self):
     self.assertEqual(lib.factorial(-1), 1)
     self.assertEqual(lib.factorial(-2), 1)
     self.assertEqual(lib.factorial(-3), 1)
     self.assertEqual(lib.factorial(-4), 1)
Example #14
0
 def test_factzero(self):
     self.assertEqual(lib.factorial(0), 0)
Example #15
0
 def test_sqrt_negative(self):
     # Набор проверок
     self.assertEqual(lib.factorial(-1), 1)
     self.assertEqual(lib.factorial(-2), 1)
     self.assertEqual(lib.factorial(0), 0)
Example #16
0
from lib import factorial
import math
import sys
import traceback

try:
    assert factorial(1) == math.factorial(1)
    assert factorial(2) == math.factorial(2)
    assert factorial(5) == math.factorial(5)
    assert factorial(10) == math.factorial(10)
    assert factorial(0) == math.factorial(0)

except AssertionError as e:
    formatted_lines = traceback.format_exc().splitlines()
    sys.stderr.write(f"Test failed\n")
    sys.stderr.write(f"{formatted_lines[-2]}")

Example #17
0
 def test_factorial_non_negative_arg(self):
     self.assertEqual(lib.factorial(3), 6)
     self.assertEqual(lib.factorial(8), 40320)
     self.assertEqual(lib.factorial(5), 120)
Example #18
0
 def test_factorial_plus(self):
     self.assertEqual(lib.factorial(1), 1)
     self.assertEqual(lib.factorial(2), 2)
     self.assertEqual(lib.factorial(0), 1)
     self.assertEqual(lib.factorial(3), 6)
Example #19
0
 def test_factorial_minus(self):
     self.assertEqual(lib.factorial(-1), 1)
Example #20
0
	def test_factorial_Positive(self):
		self.assertEqual(lib.factorial(4), 24)
		self.assertEqual(lib.factorial(1), 1)
		self.assertEqual(lib.factorial(10), 3628800)
Example #21
0
 def test_factorial(self):
     self.assertEqual(lib.factorial(7), 5040)
     self.assertEqual(lib.factorial(2), 2)
     self.assertNotEqual(lib.factorial(40),6700)
     self.assertNotEqual(lib.factorial(5), 8)
Example #22
0
 def test_factorial_error_1(self):
     self.assertEqual(lib.factorial(-1), 1, 'Неверно вычисляет факториал отрицательного числа')
Example #23
0
 def test_factotial_non_negative_arg(self):
     self.assertEqual(lib.factorial(5), 120)
     self.assertEqual(lib.factorial(1), 1)
     self.assertEqual(lib.factorial(0), 1)
 def test_neg_nums(self):
     self.assertNotEqual(lib.factorial(-1), -1)
     self.assertNotEqual(lib.factorial(-3), -6)
Example #25
0
 def test_factorial_negative(self):
     # Набор проверок
     self.assertEqual(lib.factorial(-1), 1)
Example #26
0
 def test_factorial_non_negative_arg(self):
     # Набор проверок
     self.assertEqual(lib.factorial(0), 1)
     self.assertEqual(lib.factorial(1), 1)
     self.assertEqual(lib.factorial(2), 2)
     self.assertEqual(lib.factorial(3), 6)
Example #27
0
 def test_7(self):
     self.assertEqual(lib.factorial(7), 5040)
Example #28
0
 def test_factorial_error_2(self):
     self.assertEqual(type(lib.factorial(5)), int,
                      'Функция возвращает не int')
Example #29
0
 def test_factorial_non_negative_arg(self):
     self.assertEqual(lib.factorial(4), 24)
     self.assertEqual(lib.factorial(1), 1)
     self.assertEqual(lib.factorial(0), 0)
Example #30
0
	def test_factorial_positive(self):
		self.assertEqual(lib.factorial(0), 1)
		self.assertEqual(lib.factorial(6), 720)
		self.assertEqual(lib.factorial(1), 1)
Example #31
0
 def test4(self):
     self.assertEqual(lib.factorial(0), 1)
Example #32
0
 def test_factorial_negative_minus_one(self):
     self.assertEqual(lib.factorial(-1), 1)
Example #33
0
 def test2(self):
     self.assertEqual(lib.factorial(-1), 1)
Example #34
0
 def test_0(self):
     self.assertEqual(lib.factorial(0), 1)
Example #35
0
 def test_def_factorial(self):
     self.assertEqual(lib.factorial(-1),1)
     self.assertEqual(lib.factorial(4),24)
     self.assertEqual(lib.factorial(0),1)
Example #36
0
 def test_factorial_negative(self):
     self.assertEqual(lib.factorial(-1),1)
Example #37
0
 def test_5(self):
     self.assertEqual(lib.factorial(5), 120)
Example #38
0
 def test1(self):
     self.assertEqual(lib.factorial(1), 1)
Example #39
0
 def test_factorial2_negative(self):
     self.assertEqual(lib.factorial(2),2)      
     self.assertEqual(lib.factorial(3),6) 
     self.assertEqual(lib.factorial(4),24) 
     self.assertEqual(lib.factorial(5),120)   
Example #40
0
 def test3(self):
     self.assertEqual(lib.factorial(3), 6)
Example #41
0
 def test_even_nechet(self):
     self.assertEqual(lib.factorial(1),0)
     self.assertEqual(lib.factorial(-1),0)