def sum_of_factorial_digits(n):
    total = 1
    for i in xrange(1, n + 1):
        total *= i
    digits = my_module.array_of_digits(total)

    return sum(digits)
def is_pandigital_pair(a, b):
    digits = my_module.array_of_digits(a*b)
    digits.extend(int(i) for i in str(a))
    digits.extend(int(i) for i in str(b))
    if len(digits) == 9:
        if 0 not in digits:
            if len(list(set(digits))) == 9:
                return(True)
    return(False)
예제 #3
0
import my_module


units = ["", "one", "two", "three", "four", "five", "six",
         "seven", "eight", "nine", "ten", "eleven", "twelve",
         "thirteen", "fourteen", "fifteen", "sixteen", "seventeen",
         "eighteen", "nineteen"]
tens = ["twenty", "thirty", "forty", "fifty",
        "sixty", "seventy", "eighty", "ninety"]
total_length = 0

for i in xrange(1, 1001):
    if i < 20:
        total_length += len(units[i])
    elif i < 100:
        digits = my_module.array_of_digits(i)
        total_length += len(tens[digits[0]-2])
        total_length += len(units[digits[1]])
    else:
        digits = my_module.array_of_digits(i)
        if i == 1000:
            total_length += 11
        elif i % 100 == 0:
            total_length += (len(units[digits[0]])+7)
        elif i - digits[0]*100 < 20:
            total_length += len(units[i - digits[0]*100])
            total_length += len(units[digits[0]]) + 10
        else:
            total_length += len(tens[digits[1]-2])
            total_length += len(units[digits[2]])
            total_length += len(units[digits[0]]) + 10
예제 #4
0
import my_module

maxi = 0
for a in range (1, 100):
    for b in range(1, 100):
        power = a**b
        digits = my_module.array_of_digits(power)
        if sum(digits) > maxi:
            maxi = sum(digits)

print(maxi)
예제 #5
0
def rearrange(i):
    return sorted(list(set(my_module.array_of_digits(i))))
예제 #6
0
 def test_array_of_digits(self):
     self.assertEqual(my_module.array_of_digits(3024), [3, 0, 2, 4])
예제 #7
0
import my_module


number = 7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450
digits = my_module.array_of_digits(number)

print my_module.largest_product_of_consecutive_integers_in_array(digits, 13)
예제 #8
0
import my_module


factorials = 0
for i in xrange(145, 100000):
    factorial_of_digits = 0
    for d in my_module.array_of_digits(i):
        total = 1
        for n in xrange(1, d + 1):
            total *= n
        factorial_of_digits += total
    if factorial_of_digits == i:
        print(i)
        factorials += i

print(factorials)
def is_pandigital_number(n):
    digits = my_module.array_of_digits(n)
    if 0 not in digits:
        if len(list(set(digits))) == len(digits):
            return(True)
    return(False)
예제 #10
0
from __future__ import division
from fractions import Fraction
import my_module


fractions = []
for a in xrange(10, 100):
    for b in xrange(10, 100):
        if a < b:
            list_a = my_module.array_of_digits(a)
            list_b = my_module.array_of_digits(b)
            if 0 not in list_a:
                if 0 not in list_b:
                    for i in xrange(0, 2):
                        if list_a[i] == list_b[1 - i]:
                            if a / b == list_a[1 - i] / list_b[i]:
                                fractions.append(a)
                                fractions.append(b)

productnumerator = 1
productdenominator = 1
for j in xrange(0, 7, 2):
    productnumerator *= fractions[j]
    productdenominator *= fractions[j + 1]

print(Fraction(productnumerator, productdenominator).denominator)