import common def part_perm_number(all, choose): perm_num = 1 for i in range(all - choose + 1, all + 1): perm_num = perm_num * i return perm_num all_items, choose_items = map(int, common.one_line_reader('PPER.txt').split()) print(int(part_perm_number(all_items, choose_items) % 1e6))
import common protein = common.one_line_reader('PRTM.txt') sum_mass = sum(common.get_protein_mass(letter) for letter in protein) print(round(sum_mass, 3))
import common ''' exterbal_nodes = n(leaves) (it's unrooted) all_edges = (external + 3*internal) / 2 all_nodes = external + internal all_edges = all_nodes - 1 ''' leaves_num = int(common.one_line_reader('INOD.txt')) external_nodes = leaves_num internal_nodes = external_nodes - 2 print(internal_nodes)
import common import math import itertools input_number = int(common.one_line_reader('PERM.txt')) total_perm = math.factorial(input_number) num_list = list(range(1, input_number + 1)) iter_list = list(itertools.permutations(num_list)) with open('PERM_result.txt', 'w') as f: print(total_perm, file=f) for perm in iter_list: print(' '.join(map(str, [item for item in perm])), file=f)
import itertools import common import numpy as np input_number = int(common.one_line_reader('SIGN.txt')) num_list = list(range(1, input_number + 1)) iter_list = list(itertools.permutations(num_list)) sign_list = list(itertools.product((-1, 1), repeat=input_number)) signed_perm_list = list() for num in iter_list: for sign in sign_list: signed_perm_list.append(tuple(np.multiply(num, sign))) with open('SIGN_result.txt', 'w') as f: print(len(signed_perm_list), file=f) for perm in signed_perm_list: print(' '.join(map(str, [item for item in perm])), file=f)
import common from common import combinations as C n, m = map(int, common.one_line_reader('ASPC.txt').split()) print(common.modulo(sum([common.modulo(C(n,i), int(1e6)) for i in range(m, n + 1)]), int(1e6)))
import common def f(n): fact = 1 for i in range(1, n + 1): fact *= i return fact def c(n, k): return (f(n) // f(n - k) // f(k)) if __name__ == '__main__': n_max = int(common.one_line_reader('SSET.txt')) subset_list = [c(n_max, k) for k in range(n_max)] subset_num = 1 # empty set is a subset too for item in subset_list: subset_num += item print(int(subset_num % 1e6))