def det_M(seq): div1 = set(Euler.factoring(seq[0])) div2 = set(Euler.factoring(seq[1])) check = div2.difference(div1) if 3 in check or 7 in check: return 1 else: return -1
def func(x): ans = list(set(Euler.factoring(x))) ans.sort() return ans
def tagainiso(n, m): re = list(set(Euler.factoring(n)) & set(Euler.factoring(m))) if re == [1]: re = [] return re
#!/usr/bin/env python # -*- coding: utf-8 -*- """ project euler problem 204 ハミング数とは, どの素因数も5以下であるような正整数のことである. 最初から順に並べると, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15となる. 10^8以下のハミング数は1105個ある. 素因数がn未満の正整数を, type nの一般化ハミング数と呼ぶことにする. するとハミング数はtype 5の一般化ハミング数である. 10^9以下のtype 100の一般化ハミング数の個数を答えよ. """ import time import Euler time1 = time.time() i = 0 count = 0 while i <= 10 ** 9: i += 1 if i % 1000 == 0: print(i) if Euler.primecheck(i): count += 1 elif Euler.factoring(i)[-1] <= 100: count += 1 print(count) print(time.time() - time1, "seconds")
#!/usr/bin/env python # -*- coding: utf-8 -*- """ project euler problem 193 正の整数 n が、任意の素数の2乗によって割り切れないとき、 n を"平方因子を含まない"(squarefree)と呼ぶ。 1, 2, 3, 5, 6, 7, 10, 11 は平方因子を含まないが、 4, 8, 9, 12 は平方因子を含む。 2^50 未満で平方因子を含まない数はいくつあるか? """ import time import Euler t0 = time.time() answer = 0 i = 0 while i < 2 ** 50: i += 1 if i % 10000 == 0: print(i) all_list = Euler.factoring(i) set_list = list(set(all_list)) if all_list == set_list: answer += 1 del(all_list, set_list) print(answer) print(time.time() - t0, "seconds")