def is_prime_truncatable(n): right = n while num_digits(right) > 0: if not is_prime(right): return False right = rtrunc(right) left = n while num_digits(left) > 0: if not is_prime(left): return False left = ltrunc(left) return True
def add_multiplicator(self, mult): x = self.n * mult num_digits_x = utils.num_digits(x) self.concatenation *= 10 ** num_digits_x self.concatenation += x self.num_digits += num_digits_x self.digits |= set(utils.digits(x))
for ind in less_than_two_indices: for j in range(2 - counts[ind]): training_targets.append(ind) train_index, val_index = sss.split(np.zeros(len(training_targets)), training_targets).next() folds[i][user_id][splits.train] = [images[user_id][j] for j in train_index if j < orig_num_train_targets] folds[i][user_id][splits.validation] = [images[user_id][j] for j in val_index if j < orig_num_train_targets] folds[i][user_id][splits.test] = [images[user_id][j] for j in test_index] # In[ ]: num_categories = len(categories) num_images = sum([u.num_images for u in sorted_users]) padding_zeros = utils.num_digits(num_images) for i, fold in enumerate(folds.itervalues()): split = [[], [], []] for user_id, split_ind in itertools.product(users_ids, splits.itervalues()): split[split_ind].extend(fold[user_id][split_ind]) for split_name, split_id in splits.iteritems(): split_dir = osp.join('data', 'static', str(i + 1).zfill(2), split_name) if os.path.isdir(split_dir): shutil.rmtree(split_dir) for j in xrange(num_categories): category = str(j).zfill(utils.num_digits(num_categories))
def __init__(self, n): self.n = n self.concatenation = n self.num_digits = utils.num_digits(n) self.digits = set(utils.digits(n))
def test_circular(n): for i in range(0, num_digits(n)): if not is_prime(n): return False n = rotate(n) return True
def rotate(n): r, n = n % 10, n / 10 return n + r * 10 ** num_digits(n)
def ltrunc(n): o = num_digits(n) - 1 d = 10 ** (num_digits(n) - 1) while num_digits(n) != o: n -= d return n
def concat_numbers(a, b, c): nc = num_digits(c) return a*(10**(num_digits(b) + nc)) + b*(10**nc) + c