№25 — примеры решений

2 прототипа. Каждый — с собственным разбором.

#25164 Делители
Напишите программу, которая перебирает целые числа, бо́льшие 1 000 000, в порядке возрастания и ищет среди них те, которые имеют ровно 3 простых делителя. В ответе запишите 5 наименьших таких чисел в порядке возрастания. Справа от каждого такого числа укажите его наибольший простой делитель. Количество строк в таблице для ответа избыточно.
def d(n):
    m = set()
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            m.add(i)
            m.add(n // i)
    return m
x = 1_000_000
count = 0
while count < 5:
    x = x + 1
    div = d(x)
    c_d = []
    for number in div:
        div_number = d(number)
        if len(div_number) == 0:
            c_d.append(number)
    if len(c_d) == 3:
        print(x, max(c_d))
        count += 1
Ответ:1000002 166667 1000004 89 1000006 71429 1000012 19231 1000013 383
#25100 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 10^10, найдите все числа, соответствующие маске 1?3*5*954, делящиеся на 6437 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 6437. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 10, 6437):
    if fnmatch(str(a), '1?3*5*954'):
        print(a, a // 6437)
Ответ:1035339954 160842 1537425954 238842 1730535954 268842 1833527954 284842 1936519954 300842
📚 Все задачи с разбором 225
Напишите программу, которая перебирает целые числа, большие 1 350 050, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на 11 и не равный ни самому числу, ни числу 11. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце - для каждого числа соответствующий минимальный делитель, оканчивающийся на 11, не равный ни самому числу, ни числу 11. Количество строк в таблице для ответа избыточно.
def f(n):
	d = set()
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			d.add(i)
			d.add(n // i)
	return sorted(d)
k = 0
for n in range(1_350_051, 2_000_000):
	s = f(n)
	h = [d for d in s if d != 11 and d % 100 == 11]
	if h:
		print(n, min(h))
		k += 1
		if k == 5:
			break
Ответ:1350051 311 1350055 270011 1350062 511 1350063 40911 1350066 225011
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: — символ «?» обозначает ровно одну произвольную цифру; — символ «*» обозначает любую последовательность цифр произвольной длины, в том числе может задавать и пустую последовательность. Например, маске 1234?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 10⁸, найдите все числа, соответствующие маске 12??15*6, делящиеся на 271 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им результаты деления этих чисел на 271. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 8, 271):
	if fnmatch(str(a), '12??15*6'):
		print(a, a // 271)
Ответ:1202156 4436 12001506 44286 12131586 44766 12421556 45836 12711526 46906
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M признаётся равным нулю. Напишите программу, которая перебирает целые числа, большие 800 000, в порядке возрастания и ищет среди них такие, у которых M оканчивается на 4. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце — соответствующие им значения M. Например, для числа 20 M = 2 + 10 = 12. Количество строк в таблице для ответа избыточно.
def f(n):
	d = set()
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			d.add(i)
			d.add(n // i)
	return sorted(d)
k = 0
for n in range(800_001, 900_000):
	s = f(n)
	if len(s) >= 2:
		m = min(s) + max(s)
		if m % 10 == 4:
			print(n, m)
			k += 1
			if k == 5:
				break
Ответ:800004 400004 800009 114294 800013 266674 800024 400014 800033 61554
Пусть R - сумма различных натуральных делителей целого числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие 500 000, в порядке возрастания и ищет среди них такие, для которых R оканчивается на цифру 9.
В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце - соответствующие им значения R. Например, для числа 20 R = 2 + 4 + 5 + 10 = 21. Количество строк в таблице для ответа избыточно.
def f(n):
	d = set()
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			d.add(i)
			d.add(n // i)
	return sorted(d)
k = 0
for n in range(500_001, 600_000):
	s = f(n)
	if s:
		r = sum(s)
		if r % 10 == 9:
			print(n, r)
			k += 1
			if k == 5:
				break
Ответ:500014 250009 500038 495289 500040 1170359 500054 250029 500058 667289
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю. Напишите программу, которая перебирает целые числа, большие 700 000, в порядке возрастания и ищет среди них такие, для которых M оканчивается на 4.
В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце — соответствующие им значения M. Например, для числа 20 M = 2 + 10 = 12. Количество строк в таблице для ответа избыточно.
def f(n):
	d = set()
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			d.add(i)
			d.add(n // i)
	return sorted(d)
k = 0
for n in range(700_001, 800_000):
	s = f(n)
	if len(s) >= 2:
		m = min(s) + max(s)
		if m % 10 == 4:
			print(n, m)
			k += 1
			if k == 5:
				break
Ответ:700004 350004 700009 41194 700023 233344 700024 350014 700044 350024
Пусть R - сумма различных натуральных делителей целого числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие 500 000, в порядке возрастания и ищет среди них такие, для которых R оканчивается на цифру 9.
В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце - соответствующие им значения R. Например, для числа 20 R = 2 + 4 + 5 + 10 = 21. Количество строк в таблице для ответа избыточно.
def f(n):
	d = set()
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			d.add(i)
			d.add(n // i)
	return sorted(d)
k = 0
for n in range(500_001, 600_000):
	s = f(n)
	if s:
		r = sum(s)
		if r % 10 == 9:
			print(n, r)
			k += 1
			if k == 5:
				break
Ответ:500014 250009 500038 495289 500040 1170359 500054 250029 500058 667289
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: - символ «?» означает ровно одну произвольную цифру; - символ «*» означает любую последовательность произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 4*4736*1, которые делятся на 7993 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце - соответствующие им результаты деления этих чисел на 7993.
Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 10, 7993):
	if fnmatch(str(a), '4*4736*1'):
		print(a, a // 7993)
Ответ:44736821 5597 4064736241 508537 4303247361 538377 4347368721 543897 4447361151 556407 4473658121 559697 4794736931 599867
Пусть R – сумма всех различных натуральных делителей целого числа. Напишите программу, которая перебирает целые числа, большие 500 000, в порядке возрастания и ищет среди них такие, для которых значение R оканчивается на цифру 6. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – пять соответствующих этим числам значений R. Например, для числа 20 R = 1 + 2 + 4 + 5 + 10 + 20 = 42.
Количество строк в таблице для ответа избыточно.
def f(n):
	d = {1, n}
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			d.add(i)
			d.add(n // i)
	return sorted(d)
k = 0
for n in range(500_001, 600_000):
	s = f(n)
	r = sum(s)
	if r % 10 == 6:
		print(n, r)
		k += 1
		if k == 5:
			break
Ответ:500032 1070356 500035 606816 500039 501456 500050 949716 500052 1333696
Напишите программу, которая перебирает целые числа, большие 1 324 727, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно различных, каждый из которых содержит в своей записи ровно одну цифру 5.
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце - для каждого из чисел наибольший из соответствующих им найденных множителей. Количество строк в таблице для ответа избыточно.
def p(n):
	f = []
	d = 2
	while d * d <= n:
		while n % d == 0:
			f.append(d)
			n //= d
		d += 1
	if n > 1:
		f.append(n)
	return f
k = 0
for n in range(1_324_728, 2_000_000):
	f_ = p(n)
	if len(f_) == 2 and all(str(x).count('5') == 1 for x in f_):
		print(n, max(f_))
		k += 1
		if k == 5:
			break
Ответ:1324795 264959 1324801 1151 1324903 2543 1325015 265003 1325029 5279
Пусть М - сумма минимального и максимального простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то значение М считается равным нулю. Напишите программу, которая перебирает целые числа, большие 5 400 000, в порядке возрастания и ищет среди них такие, для которых М больше 60 000 и является палиндромом, т.е. одинаково читается слева направо и справа налево.
В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце - соответствующие им значения М. Например, для числа 298 М = 2 + 149 = 151. Количество строк в таблице для ответа избыточно.
def pf(n):
	s = set()
	t = n
	d = 2
	while d * d <= t:
		while t % d == 0:
			s.add(d)
			t //= d
		d += 1
	if t > 1:
		s.add(t)
	return s
k = 0
for n in range(5_400_001, 7_000_000):
	s = pf(n)
	if not s:
		continue
	M = min(s) + max(s)
	if M > 60000 and str(M) == str(M)[::-1]:
		print(n, M)
		k += 1
		if k == 5:
			break
Ответ:5400042 900009 5400420 90009 5400866 158851 5406116 1351531 5406420 90109
Напишите программу, которая перебирает целые числа, большие 6 651 220, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно двух простых множителей, не обязательно различных, каждый из которых содержит в своей записи ровно одну цифру 2.
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце - для каждого из чисел соответствующий им наибольший из найденных множителей. Количество строк в таблице для ответа избыточно.
def p(n):
	f = []
	d = 2
	while d * d <= n:
		while n % d == 0:
			f.append(d)
			n //= d
		d += 1
	if n > 1:
		f.append(n)
	return f
k = 0
for n in range(6_651_221, 8_000_000):
	f_ = p(n)
	if len(f_) == 2 and all(str(x).count('2') == 1 for x in f_):
		print(n, max(f_))
		k += 1
		if k == 5:
			break
Ответ:6651241 2579 6651262 3325631 6651286 3325643 6651314 3325657 6651347 289189
Напишите программу, которая перебирает целые числа, большие 15 381 264, в порядке возрастания и ищет среди них числа, представленные в виде произведения ровно трёх простых множителей, не обязательно различных, каждый из которых содержит в своей записи ровно одну цифру 1.
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце - для каждого из чисел соответствующий им наибольший из найденных множителей. Количество строк в таблице для ответа избыточно.
def p(n):
	f = []
	d = 2
	while d * d <= n:
		while n % d == 0:
			f.append(d)
			n //= d
		d += 1
	if n > 1:
		f.append(n)
	return f
k = 0
for n in range(15_381_265, 20_000_000):
	f_ = p(n)
	if len(f_) == 3 and all(str(x).count('1') == 1 for x in f_):
		print(n, max(f_))
		k += 1
		if k == 5:
			break
Ответ:15381301 38167 15381887 1283 15382727 16007 15382991 8513 15383141 919
Напишите программу, которая перебирает целые числа, большие 6 086 055, в порядке возрастания и ищет среди них числа, представленные в виде произведено двух простых множителей, не обязательно различных, каждый из которых содержит в своей записи ровно одну цифру 6.
В ответе в первом столбце таблицы запишите первые 5 найденных чисел в порядке возрастания, а во втором столбце - для каждого из них соответствующий наибольший из найденных множителей. Количество строк в таблице для ответа избыточно.
def p(n):
	f = []
	d = 2
	while d * d <= n:
		while n % d == 0:
			f.append(d)
			n //= d
		d += 1
	if n > 1:
		f.append(n)
	return f
k = 0
for n in range(6_086_056, 8_000_000):
	f_ = p(n)
	if len(f_) == 2 and all(str(x).count('6') == 1 for x in f_):
		print(n, max(f_))
		k += 1
		if k == 5:
			break
Ответ:6086089 2467 6086161 3673 6087281 9467 6087317 36451 6087727 2683
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю. Напишите программу, которая перебирает целые числа, бо́льшие 800 000, в порядке возрастания и ищет среди них такие, для которых M оканчивается на 4. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце — соответствующие им значения M. Например, для числа 20 M = 2 + 10 = 12. Количество строк в таблице для ответа избыточно.
def f(n):
	d = set()
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			d.add(i)
			d.add(n // i)
	return sorted(d)
k = 0
for n in range(800_001, 900_000):
	s = f(n)
	if len(s) >= 2:
		m = min(s) + max(s)
		if m % 10 == 4:
			print(n, m)
			k += 1
			if k == 5:
				break
Ответ:800004 400004 800009 114294 800013 266674 800024 400014 800033 61554
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: символ «?» означает ровно одну произвольную цифру; символ «*» означает любую последовательность цифр произвольной длины, в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 54?1?3*7, делящиеся на 18579 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им результаты деления этих чисел на 18579. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 10, 18579):
	if fnmatch(str(a), '54?1?3*7'):
		print(a, a // 18579)
Ответ:545163597 29343 5411932647 291293 5421036357 291783 5451134337 293403 5461538577 293963 5481232317 295023 5491636557 295583
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: - символ «?» означает ровно одну произвольную цифру; - символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 1*23??56, делящиеся на 171 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им результаты деления этих чисел на 171. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 8, 171):
	if fnmatch(str(a), '1*23??56'):
		print(a, a // 171)
Ответ:1237356 7236 10231956 59836 12232656 71536 14233356 83236 16234056 94936 18234756 106636
#25101 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске *45?49*24, делящиеся на 12602 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 12602.
from fnmatch import fnmatch
for a in range(0, 10 ** 10, 12602):
    if fnmatch(str(a), '*45?49*24'):
        print(a, a // 12602)
Ответ:459494124 36462 464534924 36862 4534980924 359862 6954564924 551862 7455494424 591612 9945649624 789212
#25102 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 10?451*3, делящиеся на 451 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 451.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 451):
    if fnmatch(str(a), '10?451*3'):
        print(a, a // 451)
Ответ:10045123 22273 103451733 229383
#25103 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 1*578*, делящиеся на 83 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 83.
from fnmatch import *
for n in range(0, 10**6, 83):
    if fnmatch(str(n), '1*578*'):
        print(n, n // 83)
Ответ:115785 1395 135788 1636 146578 1766 157866 1902
#25104 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: — символ «*» означает ровно одну произвольную цифру; — символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?475 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 85*16?4, делящиеся на 2658 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие результаты деления этих чисел на 2658.
from fnmatch import *
for n in range(0, 10**9, 2658):
    if fnmatch(str(n), '85?16*4'):
        print(n, n // 2658)
Ответ:85316484 32098 850169274 319853 851166024 320228 852162774 320603 854169564 321358 855166314 321733 856163064 322108 858169854 322863 859166604 323238
#25105 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 21?3*145?5 и делящиеся на 2025 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2025. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**10, 2025):
    if fnmatch(str(n), '21?3*145?5'):
        print(n, n // 2025)
Ответ:2123214525 1048501 2163714525 1068501 2173114575 1073143
#25106 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, делящиеся на 2025 без остатка и соответствующие обеим маскам одновременно: 33?2*42? и *32??2? В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2025. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**10, 2025):
    if fnmatch(str(n), '33?2*42?'):
        if fnmatch(str(n), '*32??2?'):
            print(n, n // 2025)
Ответ:33325425 16457 3302323425 1630777
#25107 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 456*7?8?9 соответствуют числа 4561789 и 456073338329. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 21*5846?*, делящиеся на 2025 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2025. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10 ** 10, 2025):
    if fnmatch(str(n), '21?5846*?'):
        print(n, n // 2025)
Ответ:2105846100 1039924 2135846475 1054739 2165846850 1069554 2175846300 1074492
#25108 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 1?3*5*954, делящиеся на 6437 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 6437. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10 ** 10, 6437):
    if fnmatch(str(n), '1?3*5*954'):
        print(n, n // 6437)
Ответ:1035339954 160842 1537425954 238842 1730535954 268842 1833527954 284842 1936519954 300842
#25109 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске *45?49*24, делящиеся на 12602 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 12602.
from fnmatch import *
for n in range(0, 10 ** 10, 12602):
    if fnmatch(str(n), '*45?49*24'):
        print(n, n // 12602)
Ответ:459494124 36462 464534924 36862 4534980924 359862 6954564924 551862 7455494424 591612 9945649624 789212
#25110 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 10?451*3, делящиеся на 451 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 451.
from fnmatch import *
for a in range(0, 10 ** 9, 451):
    if fnmatch(str(a), '10?451*3'):
        print(a, a // 451)
Ответ:10045123 22273 103451733 229383
#25111 Маска
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «*». Символ «?» означает ровно одну произвольную цифру, символ «*» означает произвольную (в том числе пустую) последовательность цифр. Пример. Маске 123*4?5 соответствуют числа 123405 и 12376415. Найдите все натуральные числа, не превышающие 109, которые соответствуют маске 12*93?1? и при этом без остатка делятся на 3127. В ответе запишите все найденные числа в порядке возрастания.
from fnmatch import fnmatch
for a in range(0, 10**9, 3127):
    if fnmatch(str(a), '12*93?1?'):
        print(a, a // 3127)
Ответ:120993011 38693 122093715 39045 126193212 40356 127293916 40708
#25112 Маска
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?» и «*». Символ «?» означает ровно одну произвольную цифру, символ «*» означает произвольную (в том числе пустую) последовательность цифр. Например, маске 123*4?5 соответствуют числа 123405 и 12376415. Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 1*4239?7 и при этом без остатка делятся на 3147. В ответе запишите все найденные числа в порядке возрастания.
from fnmatch import fnmatch
for a in range(0, 10**10, 3147):
    if fnmatch(str(a), '1*4239?7'):
        print(a, a // 3147)
Ответ:100423917 31911 176423967 56061 1374423927 436741 1450423977 460891 1973423907 627081
#25115 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 15*4?81, делящиеся на 12007 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 12007. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 12007):
    if fnmatch(str(a), '15*4?81'):
        print(a, a // 12007)
Ответ:15404981 1283 151084081 12583 152284781 12683
#25116 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 61*57?, делящиеся на 25013 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 25013. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 25013):
    if fnmatch(str(a), '61*57?'):
        print(a, a // 25013)
Ответ:611042577 24429 612968578 24506 614894579 24583
#25117 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 37?14*, делящиеся на 70001 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 70001. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 70001):
    if fnmatch(str(a), '37?14*'):
        print(a, a // 70001)
Ответ:371145302 5302 378145402 5402
#25118 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 61*25?, делящиеся на 25013 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 25013. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 25013):
    if fnmatch(str(a), '61*25?'):
        print(a, a // 25013)
Ответ:610417252 24404 612343253 24481 614269254 24558 616195255 24635 618121256 24712
#25119 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 56*108?30, делящиеся на 70001 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 70001. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 70001):
    if fnmatch(str(a), '56*108?30'):
        print(a, a // 70001)
Ответ:562108030 8030 569108130 8130
#25120 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске *?1848, делящиеся на 25013 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 25013. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 25013):
    if fnmatch(str(a), '*?1848'):
        print(a, a // 25013)
Ответ:157481848 6296 407611848 16296 657741848 26296 907871848 36296
#25121 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 9*56?63, делящиеся на 12007 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 12007. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 12007):
    if fnmatch(str(a), '9*56?63'):
        print(a, a // 12007)
Ответ:940256163 78309 941456863 78409
#25122 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске *75?356, делящиеся на 12602 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 12602. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 12602):
    if fnmatch(str(a), '*75?356'):
        print(a, a // 12602)
Ответ:343757356 27278 929750356 73778
#25123 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске *949582?, делящиеся на 2023 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 2023):
    if fnmatch(str(a), '*949582?'):
        print(a, a // 2023)
Ответ:599495820 296340 729495823 360601 859495826 424862 989495829 489123
#25124 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 2*?6287, делящиеся на 25013 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 25013. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 25013):
    if fnmatch(str(a), '2*?6287'):
        print(a, a // 25013)
Ответ:2476287 99 252606287 10099
#25125 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске ?4*7456, делящиеся на 12007 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 12007. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 12007):
    if fnmatch(str(a), '?4*7456'):
        print(a, a // 12007)
Ответ:2497456 208 242637456 20208 842987456 70208
#25126 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске *49?405, делящиеся на 2023 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 2023):
    if fnmatch(str(a), '*49?405'):
        print(a, a // 2023)
Ответ:2498405 1235 178499405 88235 617490405 305235 793491405 392235 969492405 479235
#25127 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске *?95196, делящиеся на 12602 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 12602. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 12602):
    if fnmatch(str(a), '*?95196'):
        print(a, a // 12602)
Ответ:2495196 198 632595196 50198
#25128 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске ?4*035, делящиеся на 70001 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 70001. Количество строк в таблице для ответа избыточно.
from fnmatch import fnmatch
for a in range(0, 10 ** 9, 70001):
    if fnmatch(str(a), '?4*035'):
        print(a, a // 70001)
Ответ:2450035 35 142452035 2035 842462035 12035
#25129 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 8?0?7?, делящиеся на 796 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 796. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 796):
    if fnmatch(str(n), '8?0?7?'):
        print(n, n // 796)
Ответ:800776 1006 820676 1031 840576 1056 860476 1081 880376 1106
#25130 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 5?*68*, делящиеся на 1486 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1486. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 1486):
    if fnmatch(str(n), '5?*68*'):
        print(n, n // 1486)
Ответ:56468 38 502268 338 546848 368 564680 380 576568 388
#25131 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске ?01*?6, делящиеся на 296 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 296. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 296):
    if fnmatch(str(n), '?01*?6'):
        print(n, n // 296)
Ответ:201576 681 401376 1356 601176 2031 701816 2371 901616 3046
#25132 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 11?96*, делящиеся на 2999 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2999. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 2999):
    if fnmatch(str(n), '11?96*'):
        print(n, n // 2999)
Ответ:11996 4 110963 37 113962 38 116961 39 119960 40
#25133 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 19?2?*, делящиеся на 169 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 169. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 169):
    if fnmatch(str(n), '19?2?*'):
        print(n, n // 169)
Ответ:190294 1126 196209 1161 197223 1167 198237 1173 199251 1179
#25134 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 8*97*?, делящиеся на 582 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 582. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 582):
    if fnmatch(str(n), '8*97*?'):
        print(n, n // 582)
Ответ:84972 146 847974 1457 849720 1460 897444 1542 899772 1546
#25135 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 8?6**0, делящиеся на 1825 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1825. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 1825):
    if fnmatch(str(n), '8?6**0'):
        print(n, n // 1825)
Ответ:87600 48 806650 442 846800 464 876000 480 886950 486
#25136 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 2*?08*, делящиеся на 2144 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2144. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 2144):
    if fnmatch(str(n), '2*?08*'):
        print(n, n // 2144)
Ответ:220832 103 229408 107 250848 117 280864 131 283008 132
#25137 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 5?*6?0, делящиеся на 293 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 293. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 293):
    if fnmatch(str(n), '5?*6?0'):
        print(n, n // 293)
Ответ:55670 190 58600 200 515680 1760 518610 1770 559630 1910
#25138 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 7?3*4*, делящиеся на 1044 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1044. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 1044):
    if fnmatch(str(n), '7?3*4*'):
        print(n, n // 1044)
Ответ:79344 76 723492 693 763164 731 773604 741 793440 760
#25139 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске ?*42*5, делящиеся на 653 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 653. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 653):
    if fnmatch(str(n), '?*42*5'):
        print(n, n // 653)
Ответ:114275 175 342825 525 434245 665 473425 725 754215 1155
#25140 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 190?*?, делящиеся на 308 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 308. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 308):
    if fnmatch(str(n), '190?*?'):
        print(n, n // 308)
Ответ:19096 62 190036 617 190344 618 190652 619 190960 620
#25141 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске ??91*8, делящиеся на 308 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 308. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 308):
    if fnmatch(str(n), '??91*8'):
        print(n, n // 308)
Ответ:339108 1101 359128 1166 379148 1231 399168 1296 419188 1361
#25142 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 474?**, делящиеся на 274 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 274. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 274):
    if fnmatch(str(n), '474?**'):
        print(n, n // 274)
Ответ:47402 173 474020 1730 474294 1731 474568 1732 474842 1733
#25143 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 106, найдите все числа, соответствующие маске 1?3*8*4, делящиеся на 116 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 116. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**6, 116):
    if fnmatch(str(n), '1?3*8*4'):
        print(n, n // 116)
Ответ:14384 124 133284 1149 133864 1154 153584 1324 173884 1499
#25144 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 107, найдите все числа, соответствующие маске 977?4*, делящиеся на 1901 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1901. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '977?4*'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**7, 1901):
    if fnmatch(str(n), mask):
        print(n, n // 1901)
Ответ:9771140 5140 9773041 5141 9774942 5142 9776843 5143 9778744 5144
#25145 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 1*?692, делящиеся на 2023 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '1*?692'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2023):
    if fnmatch(str(n), mask):
        print(n, n // 2023)
Ответ:10527692 5204 12550692 6204 14573692 7204 16596692 8204 18619692 9204
#25146 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 64?*35, делящиеся на 1801 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1801. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '64?*35'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 1801):
    if fnmatch(str(n), mask):
        print(n, n // 1801)
Ответ:64178635 35635 64358735 35735 64538835 35835 64718935 35935 64899035 36035
#25147 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 1?979*, делящиеся на 2023 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '1?979*'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2023):
    if fnmatch(str(n), mask):
        print(n, n // 2023)
Ответ:12119793 5991 12999798 6426 15989792 7904 16869797 8339 19859791 9817
#25148 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 1*24?8, делящиеся на 2023 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '1*24?8'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2023):
    if fnmatch(str(n), mask):
        print(n, n // 2023)
Ответ:1124788 556 10248518 5066 13242558 6546 15245328 7536 17248098 8526
#25149 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 908*13?, делящиеся на 911 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 911. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '908*13?'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 911):
    if fnmatch(str(n), mask):
        print(n, n // 911)
Ответ:9088136 9976 90861318 99738 90871339 99749 90881360 99760 90891381 99771
#25150 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 30*5?5, делящиеся на 1901 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1901. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '30*5?5'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 1901):
    if fnmatch(str(n), mask):
        print(n, n // 1901)
Ответ:30159365 15865 30254415 15915 30558575 16075 30653625 16125 30957785 16285
#25151 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 94?*72, делящиеся на 2023 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '94?*72'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2023):
    if fnmatch(str(n), mask):
        print(n, n // 2023)
Ответ:9435272 4664 94198972 46564 94401272 46664 94603572 46764 94805872 46864
#25152 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 9577*?, делящиеся на 2025 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2025. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '9577*?'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2025):
    if fnmatch(str(n), mask):
        print(n, n // 2025)
Ответ:95770350 47294 95772375 47295 95774400 47296 95776425 47297 95778450 47298
#25153 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 123?4*5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 27*?22, делящиеся на 2023 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '27*?22'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2023):
    if fnmatch(str(n), mask):
        print(n, n // 2023)
Ответ:27136522 13414 27338822 13514 27541122 13614 27743422 13714 27945722 13814
#25154 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность; – конструкция «[13579]» означает ровно одну нечётную цифру; – конструкция «[!37]» означает ровно одну цифру, не равную 3 и 7. Например, маске 12[13579]*4?5 соответствуют числа 123405 и 12900405. Среди натуральных чисел, не превышающих 107, найдите все числа, соответствующие маске [13579]*202?, делящиеся на 1265 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1265. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**7, 1265):
    if fnmatch(str(n), '[13579]*202?'):
        print(n, n // 1265)
Ответ:592020 468 1752025 1385 3122020 2468 5652020 4468 9342025 7385
#25155 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность; – конструкция «[3579]» означает ровно одну цифру из набора 3, 5, 7, 9; – конструкция «[!37]» означает ровно одну цифру, не равную 3 и 7. Например, маске 1[3579]*?4[!37] соответствуют числа 153401 и 19700042. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске *2[!37][3579]?305, делящиеся на 911 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 911. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**8, 911):
    if fnmatch(str(n), '*2[!37][3579]?305'):
        print(n, n // 911)
Ответ:2054305 2255 12075305 13255 22096305 24255 42138305 46255 52159305 57255
#25156 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность; – конструкция «[!79]» означает ровно одну цифру, не равную 7 и 9. Например, маске 6[!79]5*?4 соответствуют числа 66514 и 6857004. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 6[!79]58*7, делящиеся на 1801 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1801. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**8, 1801):
    if fnmatch(str(n), '6[!79]58*7'):
        print(n, n // 1801)
Ответ:6658297 3697 60580237 33637 61588797 34197 63587907 35307 65587017 36417
#25157 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность; – конструкция «[2468]» означает ровно одну чётную цифру из набора 2, 4, 6, 8; – конструкция «[!24]» означает ровно одну цифру, не равную 2 и 4; – конструкция «[!05]» означает ровно одну цифру, не равную 0 и 5. Например, маске [!05]6[2468]?6[!24]4 соответствуют числа 7668634 и 9683694. Среди натуральных чисел, не превышающих 107, найдите все числа, соответствующие маске [!05]6[2468]?6[!24]4, делящиеся на 1901 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1901. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**7, 1901):
    if fnmatch(str(n), '[!05]6[2468]?6[!24]4'):
        print(n, n // 1901)
Ответ:7668634 4034 9626664 5064 9645674 5074 9664684 5084 9683694 5094
#25158 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность; – конструкция «[!37]» означает ровно одну цифру, не равную 3 и 7. Например, маске 279[!37]?*?2 соответствуют числа 2795152 и 27901092. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 279[!37]?*?2, делящиеся на 1801 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1801. Количество строк в таблице для ответа избыточно.
from fnmatch import *
for n in range(0, 10**8, 1801):
    if fnmatch(str(n), '279[!37]?*?2'):
        print(n, n // 1801)
Ответ:2795152 1552 27901092 15492 27919102 15502 27955122 15522 27991142 15542
#25159 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность; – конструкция «[02468]» означает ровно одну чётную цифру из набора 0, 2, 4, 6, 8; – конструкция «[!57]» означает ровно одну цифру, не равную 5 и 7. Например, маске 81?*??65 соответствуют числа 81088465 и 81943265. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 81?*??65, делящиеся на 2137 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2137. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '81?*??65'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2137):
    if fnmatch(str(n), mask):
        print(n, n // 2137)
Ответ:81088465 37945 81302165 38045 81515865 38145 81729565 38245 81943265 38345
#25160 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 22?*78 соответствуют числа 22112678 и 22833078. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 22?*78, делящиеся на 1801 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1801. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '22?*78'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 1801):
    if fnmatch(str(n), mask):
        print(n, n // 1801)
Ответ:22112678 12278 22292778 12378 22472878 12478 22652978 12578 22833078 12678
#25161 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 754?*?1 соответствуют числа 75411371 и 75492291. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 754?*?1, делящиеся на 2023 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2023. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '754?*?1'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2023):
    if fnmatch(str(n), mask):
        print(n, n // 2023)
Ответ:75411371 37277 75431601 37287 75451831 37297 75472061 37307 75492291 37317
#25162 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность; – конструкция «[2468]» означает ровно одну чётную цифру из набора 2, 4, 6, 8. Например, маске 555?[2468]?9 соответствуют числа 55501789 и 55582469. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 555?[2468]?9, делящиеся на 2017 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2017. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '555?[2468]?9'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2017):
    if fnmatch(str(n), mask):
        print(n, n // 2017)
Ответ:55501789 27517 55521959 27527 55542129 27537 55562299 27547 55582469 27557
#25163 Маска
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «*» означает ровно одну произвольную цифру; – символ «?» означает любую последовательность цифр произвольной длины; в том числе «?» может задавать и пустую последовательность. Например, маске 26?4*8 соответствуют числа 2614488 и 26899468. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 26?4*8, делящиеся на 2657 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2657. Количество строк в таблице для ответа избыточно.
from fnmatch import *
mask = '26?4*8'
mask = mask.replace('*', '#')
mask = mask.replace('?', '*')
mask = mask.replace('#', '?')
for n in range(0, 10**8, 2657):
    if fnmatch(str(n), mask):
        print(n, n // 2657)
Ответ:2614488 984 26341498 9914 26527488 9984 26713478 10054 26899468 10124
#25165 Делители
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [178965; 178982], числа, имеющие ровно 4 различных делителя. Выведите эти четыре делителя для каждого найденного числа в порядке возрастания. Делители в строке должны следовать в порядке убывания.
for i in range(178965, 178982 + 1):
    d = []
    for j in range(1, i + 1):
        if i % j == 0:
            d.append(j)
    if len(d) == 4:
        d.sort(reverse=True)
        print(*d)
Ответ:178967 937 191 1 178977 59659 3 1 178979 2011 89 1 178982 89491 2 1
#25166 Делители
Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю. Напишите программу, которая перебирает целые числа, большие 452 021, в порядке возрастания и ищет среди них такие, для которых значение M при делении на 7 даёт в остатке 3. Вывести первые 5 найденных чисел и соответствующие им значения M. Формат вывода: для каждого из 5 таких найденных чисел в отдельной строке сначала выводится само число, затем – значение М. Строки выводятся в порядке возрастания найденных чисел. Например, для числа 20 М = 2 + 10 = 12. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(452_022, 455000):
    s = f(n)
    if len(s) >= 2:
        m = min(s) + max(s)
        if m % 7 == 3:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:452025 150678 452029 23810 452034 226019 452048 226026 452062 226033
#25167 Делители
Найдите 5 чисел больших 500000, таких, что среди их делителей есть число, оканчивающееся на 8, при этом этот делитель не равен 8 и самому числу. В качестве ответа приведите 5 наименьших чисел, соответствующих условию. Формат вывода: для каждого из 5 таких найденных чисел в отдельной строке сначала выводится само число, затем минимальный делитель, оканчивающийся на 8, не равный 8 и самому числу.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if d != 8 and n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(500_001, 510_000):
    s = f(n)
    if len(s) >= 1:
        h = [x for x in s if x % 10 == 8]
        if len(h) >= 1:
            print(n, min(h))
            k += 1
            if k == 5:
                break
Ответ:500002 178 500004 18 500016 48 500018 58 500020 4348
#25168 Делители
Найдите 5 чисел больших 800000, таких, что сумма их наименьшего и наибольшего нетривиальных делителей (не считая единицы и самого числа) делится на 138. В качестве ответа приведите 5 наименьших чисел, соответствующих условию. Формат вывода: для каждого из найденных чисел в отдельной строке запишите само число, а затем сумму его наименьшего и наибольшего нетривиальных делителей.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(800_001, 810_000):
    s = f(n)
    if len(s) >= 1:
        sum = min(s) + max(s)
        if sum % 138 == 0:
            print(n, sum)
            k += 1
            if k == 5:
                break
Ответ:800120 400062 800253 266754 800273 21666 800375 160080 800396 400200
#25169 Делители
Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю. Напишите программу, которая перебирает целые числа, бо́льшие 700 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Выведите первые пять найденных чисел и соответствующие им значения M. Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем – значение М. Строки выводятся в порядке возрастания найденных чисел. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(700_001, 710_000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 10 == 8:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:700005 233338 700007 100008 700012 350008 700015 140008 700031 24168
#25170 Делители
Напишите программу, которая ищет среди целых чисел, превышающих 550000, первые пять чисел, удовлетворяющих условию: количество делителей, оканчивающихся на семь и не равных самому числу, равно трём. В ответе запишите пять пар чисел в порядке возрастания первых чисел в паре: число и максимальный делитель, оканчивающийся на семь и не равный самому числу. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(550001, 560000):
    s = f(n)
    h = [x for x in s if x != n and x % 10 == 7]
    if len(h) == 3:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:550014 275007 550017 1567 550032 34377 550035 110007 550037 9017
#25171 Делители
Пусть М — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение М считается равным нулю. Напишите программу, которая перебирает целые числа, большие 220 000, в порядке возрастания и ищет среди них такие, для которых значение М оканчивается на 4. Выведите первые пять найденных чисел и соответствующие им значения М. Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем — значение М. Строки выводятся в порядке возрастания найденных чисел. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(220001, 230000):
    s = f(n)
    if len(s) >= 1:
        h = (min(s) + max(s))
        if h % 10 == 4:
            print(n, h)
            k += 1
            if k == 5:
                break
Ответ:220004 110004 220023 73344 220024 110014 220033 20014 220043 1044
#25172 Делители
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [18782; 18822], числа, имеющие ровно три различных нечётных натуральных делителя, не считая единицы и самого числа (при этом количество чётных делителей может быть любым). Для каждого найденного числа в порядке возрастания запишите эти три делителя в таблицу на экране с новой строки. Делители в строке таблицы также должны следовать в порядке возрастания.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
for n in range(18782, 18822 + 1):
    s = f(n)
    h = [x for x in s if x % 2 != 0]
    if len(h) == 3:
        print(*h)
Ответ:5 1879 9395 37 127 4699 3 1567 4701 23 409 9407 5 941 4705 3 3137 9411
#25173 Делители
Напишите программу, которая перебирает целые числа, большие 800000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 9 и не равный ни самому числу, ни числу 9. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце — соответствующий минимальный делитель для каждого числа, оканчивающийся цифрой 9, не равный ни самому числу, ни числу 9. Строки выводятся в порядке возрастания найденных чисел. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(800001, 810000):
    s = f(n)
    if len(s) >= 1:
        h = [x for x in s if x % 10 == 9 and x != n and x != 9]
        if len(h) >= 1:
            print(n, min(h))
            k += 1
            if k == 5:
                break
Ответ:800001 309 800003 47059 800004 409 800006 269 800007 39
#25174 Делители
Напишите программу, которая перебирает целые числа, большие 700 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 7 и не равный ни самому числу, ни числу 7. Выведите первые пять найденных чисел и для каждого — соответствующий наименьший делитель, оканчивающийся на цифру 7, не равный ни самому числу, ни числу 7. Формат вывода: для каждого из пяти найденных чисел в отдельной строке сначала выводится само число, затем — значение наименьшего делителя, оканчивающегося на цифру 7, не равного ни самому числу, ни числу 7. Строки выводятся в порядке возрастания найденных чисел. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(700001, 720000):
    s = f(n)
    if len(s) >= 1:
        h = [int(x) for x in f(n) if x % 10 == 7 and x != n and x != 7]
        if len(h) >= 1:
            print(n, min(h))
            k += 1
            if k == 5:
                break
Ответ:700002 27 700003 37 700005 6087 700007 77 700008 29167
#25175 Делители
Обозначим через M сумму максимального и минимального числа среди простых делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю. Напишите программу, которая перебирает целые числа, большие 23 600 000, в порядке возрастания и ищет среди них такие, для которых значение M при делении на 213 даёт в остатке 171. Выведите первые 6 найденных чисел в порядке возрастания, справа от каждого числа запишите соответствующее значения M. Количество строк для записи ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(23_600_001, 23_601_000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if M % 213 == 171:
        print(x, M)
        k += 1
        if k == 6:
            break
Ответ:23600182 694125 23600442 28713 23600478 357585 23600570 1449 23600838 135639 23600970 29139
#25176 Делители
Обозначим через F целую часть среднего арифметического всех простых делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение F равным нулю. Напишите программу, которая перебирает целые числа, большие 9 500 000, в порядке возрастания и ищет среди них такие, для которых значение F не равно нулю и кратно 813. Выведите первые 5 найденных числа в порядке возрастания и справа от каждого числа – соответствующее значение F. Количество строк для записи ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(9_500_001, 9_510_000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    if F != 0 and F % 813 == 0:
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:9500776 1626 9503921 678855 9504690 4878 9506575 9756 9506999 110568
#25177 Делители
Среди чисел больших 55 000 000, найдите такие, что среди их простых делителей есть число, оканчивающееся на 777, при этом не равное самому числу. В качестве ответа приведите 4 наименьших числа, соответствующих условию. Формат вывода: для каждого из 4 таких найденных чисел в отдельной строке сначала выводится само число, затем минимальный простой делитель, оканчивающийся на 777, не равный самому числу. Количество строк для записи ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(55_000_001, 55_010_000):
    d = [i for i in div(x) if len(div(i)) == 0 and i % 1000 == 777]
    if len(d) > 0:
        print(x, d[0])
        k += 1
        if k == 4:
            break
Ответ:55000662 9166777 55001262 2777 55001554 27500777 55001704 1777
#25178 Делители
Напишите программу, которая перебирает целые числа, большие 902714, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 5 и не равный ни самому числу, ни числу 5. В ответе запишите в первом столбце таблицы первые шесть найденных чисел в порядке возрастания, а во втором столбце — соответствующий минимальный делитель для каждого числа, оканчивающийся цифрой 5, не равный ни самому числу, ни числу 5. Строки выводятся в порядке возрастания найденных чисел.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(902714 + 1, 1_000_000):
    h = [x for x in f(n) if x != n and x != 5 and x % 10 == 5]
    if len(h) >= 1:
        print(*(n, min(h)))
        k += 1
        if k == 6:
            break
Ответ:902715 15 902720 35 902725 25 902730 15 902740 225685 902745 15
#25179 Делители
Напишите программу, которая перебирает целые числа, большие 600000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 6 и не равный ни самому числу, ни числу 6. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце — соответствующий минимальный делитель для каждого числа, оканчивающийся цифрой 6, не равный ни самому числу, ни числу 6. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(600001, 700000):
    h = [x for x in f(n) if x != n and x != 6 and x % 10 == 6]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:600002 26 600006 66 600008 716 600012 36 600016 16
#25180 Делители
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю. Напишите программу, которая перебирает целые числа, большие 300000, в порядке возрастания и ищет среди них такие, для которых значение M при делении на 11 даёт в остатке 7. Выведите первые пять найденных чисел и соответствующие им значения M. Строки выводятся в порядке возрастания найденных чисел. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(300001, 400000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 11 == 7:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:300002 150003 300015 100008 300024 150014 300035 60012 300046 150025
#25181 Делители
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю. Напишите программу, которая перебирает целые числа, большие 250000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 2. Выведите первые пять найденных чисел и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(250001, 350000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 10 == 2:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:250017 83342 250020 125012 250040 125022 250047 83352 250060 125032
#25182 Делители
Напишите программу, которая ищет среди целых чисел, превышающих 400000, первые пять чисел, удовлетворяющих условию: количество делителей, оканчивающихся на 4 и не равных самому числу, равно трём. В ответе запишите пять пар чисел в порядке возрастания первых чисел в паре: число и максимальный делитель, оканчивающийся на 4 и не равный самому числу. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(400001, 500000):
    h = [x for x in f(n) if x != n and x % 10 == 4]
    if len(h) == 3:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:400004 36364 400024 12904 400050 5334 400072 9304 400120 80024
#25183 Делители
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [100011; 100031], числа, имеющие ровно 4 различных делителя. Выведите эти четыре делителя для каждого найденного числа в порядке убывания. Количество строк в таблице для ответа избыточно.
for i in range(100011, 100031 + 1):
    d = []
    for j in range(1, i + 1):
        if i % j == 0:
            d.append(j)
    if len(d) == 4:
        d.sort(reverse=True)
        print(*d)
Ответ:100013 971 103 1 100021 3449 29 1 100027 4349 23 1 100029 33343 3 1 100031 1493 67 1
#25184 Делители
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [20028; 20048], числа, имеющие ровно три различных нечётных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти три делителя в порядке возрастания. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
for n in range(20028, 20048 + 1):
    s = f(n)
    h = [x for x in s if x % 2 != 0]
    if len(h) == 3:
        print(*h)
Ответ:3 1669 5007 5 2003 10015 43 233 10019 11 911 10021 7 179 1253
#25185 Делители
Найдите 5 чисел, больших 450000, таких, что среди их делителей есть число, оканчивающееся на 3, при этом этот делитель не равен 3 и самому числу. В качестве ответа приведите 5 наименьших чисел, соответствующих условию. Формат вывода: для каждого из 5 найденных чисел в отдельной строке сначала выводится само число, затем минимальный делитель, оканчивающийся на 3, не равный 3 и самому числу.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(450001, 550000):
    h = [x for x in f(n) if x != n and x != 3 and x % 10 == 3]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:450002 32143 450006 225003 450007 103 450008 13 450009 63
#25186 Делители
Напишите программу, которая перебирает целые числа, большие 350000, и ищет среди них такие, у которых имеется натуральный делитель, оканчивающийся на 1 и не равный ни самому числу, ни числу 1. В ответе укажите первые пять найденных чисел и соответствующие им наименьшие делители, оканчивающиеся на 1. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(350001, 450000):
    h = [x for x in f(n) if x != n and x != 1 and x % 10 == 1]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:350001 81 350002 175001 350004 87501 350005 70001 350007 21
#25187 Делители
Напишите программу, которая ищет среди целых чисел, больших 520000, первые пять чисел, для которых количество делителей, оканчивающихся на 5 и не равных самому числу, равно двум. В ответе запишите пять пар чисел: найденное число и максимальный делитель, оканчивающийся на 5. Строки выводятся в порядке возрастания найденных чисел.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(520001, 620000):
    h = [x for x in f(n) if x != n and x % 10 == 5]
    if len(h) == 2:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:520040 65005 520060 130015 520090 260045 520120 65015 520160 16255
#25188 Делители
Пусть рассматриваются натуральные делители числа, не равные самому числу. Напишите программу, которая перебирает целые числа, большие 610000, и находит первые пять чисел, у которых ровно три делителя оканчиваются на цифру 8. Для каждого найденного числа выведите само число и наибольший из таких делителей. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(610001, 710000):
    h = [x for x in f(n) if x != n and x % 10 == 8]
    if len(h) == 3:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:610020 40668 610036 305018 610048 38128 610090 122018 610120 4358
#25189 Делители
Обозначим через M сумму наименьшего и наибольшего нетривиальных делителей числа. Напишите программу, которая перебирает целые числа, большие 900000, в порядке возрастания и ищет среди них такие, для которых M делится на 123. Выведите первые пять найденных чисел и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(900001, 1000000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 123 == 0:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:900110 450057 900335 180072 900351 300120 900356 450180 900557 128658
#25190 Делители
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей нет, то M = 0. Найдите первые пять чисел, больших 730000, для которых значение M при делении на 9 даёт остаток 4. Для каждого найденного числа укажите соответствующее значение M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(730001, 830000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 9 == 4:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:730012 365008 730029 243346 730030 365017 730048 365026 730066 365035
#25191 Делители
Рассмотрим сумму минимального и максимального натуральных делителей числа, не считая единицы и самого числа. Напишите программу, которая среди целых чисел, больших 810000, ищет первые пять чисел, для которых эта сумма оканчивается на 6. В ответе для каждого числа запишите само число и найденную сумму. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(810001, 910000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 10 == 6:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:810005 162006 810008 405006 810009 270006 810028 405016 810039 270016
#25192 Делители
Среди целых чисел, больших 640000, найдите первые пять чисел, у которых есть натуральный делитель, оканчивающийся на 4, не равный числу 4 и не совпадающий с самим числом. Для каждого найденного числа выведите минимальный подходящий делитель. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(640001, 740000):
    h = [x for x in f(n) if x != n and x != 4 and x % 10 == 4]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:640002 19394 640006 194 640008 24 640010 14 640012 244
#25193 Делители
Напишите программу, которая перебирает числа, большие 710000, и ищет среди них первые пять, для которых существует натуральный делитель, оканчивающийся на 2, не равный ни самому числу, ни числу 2. В ответ запишите найденные числа и соответствующие им наименьшие делители. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(710001, 810000):
    h = [x for x in f(n) if x != n and x != 2 and x % 10 == 2]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:710002 302 710004 12 710006 22 710008 52 710010 42
#25194 Делители
Найдите первые пять чисел, больших 480000, для которых среди нетривиальных делителей ровно два делителя оканчиваются на цифру 6. В качестве ответа приведите пары: найденное число и больший из этих делителей. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(480001, 580000):
    h = [x for x in f(n) if x != n and x % 10 == 6]
    if len(h) == 2:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:480006 5926 480008 8276 480030 96006 480038 36926 480052 240026
#25195 Делители
Напишите программу, которая среди целых чисел, превышающих 560000, ищет первые пять чисел, имеющих ровно три делителя, оканчивающихся на 9 и не равных самому числу. Для каждого найденного числа укажите максимальный делитель, оканчивающийся на 9. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(560001, 660000):
    h = [x for x in f(n) if x != n and x % 10 == 9]
    if len(h) == 3:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:560019 13659 560027 43079 560119 7889 560139 18069 560187 186729
#25196 Делители
Пусть M — сумма наименьшего и наибольшего натуральных делителей числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие 1000000, и находит первые пять чисел, для которых M делится на 144. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(1000001, 1100000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 144 == 0:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:1000055 200016 1000071 333360 1000220 500112 1000503 333504 1000508 500256
#25197 Делители
Обозначим через M сумму минимального и максимального нетривиальных делителей числа. Среди чисел, больших 860000, найдите первые пять, для которых значение M при делении на 13 даёт остаток 5. Для каждого найденного числа выведите число и значение M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(860001, 960000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 13 == 5:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:860008 430006 860015 172008 860027 122868 860034 430019 860060 430032
#25198 Делители
Пусть M — сумма минимального и максимального натуральных делителей числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие 915000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 0. Выведите первые пять найденных чисел и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(915001, 1015000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 10 == 0:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:915001 9530 915011 2100 915016 457510 915021 305010 915025 183010
#25199 Делители
Среди целых чисел, больших 430000, найдите первые пять чисел, у которых есть натуральный делитель, оканчивающийся на цифру 4 и не равный ни самому числу, ни числу 4. В ответе запишите в первом столбце таблицы найденные числа, а во втором — соответствующие минимальные делители, оканчивающиеся на 4. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(430001, 500000):
    h = [x for x in f(n) if x != n and x != 4 and x % 10 == 4]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:430002 54 430004 1114 430006 134 430008 24 430010 14
#25200 Делители
Напишите программу, которая перебирает целые числа, большие 600000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 6 и не равный ни самому числу, ни числу 6. В ответе запишите в первом столбце таблицы первые пять найденных чисел, а во втором — соответствующие минимальные делители. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(600001, 700000):
    h = [x for x in f(n) if x != n and x != 6 and x % 10 == 6]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:600002 26 600006 66 600008 716 600012 36 600016 16
#25201 Делители
Найдите пять чисел, больших 710000, таких, что среди их натуральных делителей имеется число, оканчивающееся на 2, не равное самому числу и не равное числу 2. В качестве ответа приведите пять наименьших подходящих чисел и минимальные делители, удовлетворяющие условию. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(710001, 810000):
    h = [x for x in f(n) if x != n and x != 2 and x % 10 == 2]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:710002 302 710004 12 710006 22 710008 52 710010 42
#25202 Делители
Среди целых чисел, больших 450000, найдите первые пять чисел, у которых есть натуральный делитель, оканчивающийся на цифру 3 и не равный ни самому числу, ни числу 3. Для каждого найденного числа запишите минимальный делитель, удовлетворяющий этому условию. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(450001, 550000):
    h = [x for x in f(n) if x != n and x != 3 and x % 10 == 3]
    if len(h) >= 1:
        print(n, min(h))
        k += 1
        if k == 5:
            break
Ответ:450002 32143 450006 225003 450007 103 450008 13 450009 63
#25203 Делители
Напишите программу, которая ищет среди целых чисел, превышающих 400000, первые пять чисел, удовлетворяющих условию: количество делителей, оканчивающихся на 4 и не равных самому числу, равно трём. В ответе запишите пять пар чисел: найденное число и максимальный делитель, оканчивающийся на 4. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(400001, 500000):
    h = [x for x in f(n) if x != n and x % 10 == 4]
    if len(h) == 3:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:400004 36364 400024 12904 400050 5334 400072 9304 400120 80024
#25204 Делители
Рассматриваются натуральные делители числа, не равные самому числу. Найдите первые пять чисел, больших 520000, у которых ровно два делителя оканчиваются на 5. Для каждого найденного числа укажите максимальный такой делитель. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(520001, 620000):
    h = [x for x in f(n) if x != n and x % 10 == 5]
    if len(h) == 2:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:520040 65005 520060 130015 520090 260045 520120 65015 520160 16255
#25205 Делители
Напишите программу, которая среди целых чисел, больших 610000, ищет первые пять чисел, у которых ровно три натуральных делителя оканчиваются на 8 и не равны самому числу. В ответе укажите найденное число и наибольший делитель, оканчивающийся на 8. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(610001, 710000):
    h = [x for x in f(n) if x != n and x % 10 == 8]
    if len(h) == 3:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:610020 40668 610036 305018 610048 38128 610090 122018 610120 4358
#25206 Делители
Среди чисел, больших 560000, найдите первые пять таких, что среди их натуральных делителей есть ровно три делителя, оканчивающихся на 9 и не равных самому числу. Для каждого найденного числа запишите максимальный делитель, оканчивающийся на 9. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(560001, 660000):
    h = [x for x in f(n) if x != n and x % 10 == 9]
    if len(h) == 3:
        print(n, max(h))
        k += 1
        if k == 5:
            break
Ответ:560019 13659 560027 43079 560119 7889 560139 18069 560187 186729
#25207 Делители
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю. Напишите программу, которая перебирает целые числа, большие 300000, и ищет среди них такие, для которых значение M при делении на 11 даёт в остатке 7. Выведите первые пять найденных чисел и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(300001, 400000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 11 == 7:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:300002 150003 300015 100008 300024 150014 300035 60012 300046 150025
#25208 Делители
Пусть M — сумма минимального и максимального нетривиальных делителей числа. Найдите первые пять чисел, больших 250000, для которых значение M оканчивается на 2. В ответе для каждого найденного числа укажите значение M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(250001, 350000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 10 == 2:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:250017 83342 250020 125012 250040 125022 250047 83352 250060 125032
#25209 Делители
Обозначим через M сумму наименьшего и наибольшего натуральных делителей числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие 900000, и ищет среди них такие, для которых M делится на 123. Выведите первые пять найденных чисел и соответствующие значения M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(900001, 1000000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 123 == 0:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:900110 450057 900335 180072 900351 300120 900356 450180 900557 128658
#25210 Делители
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Напишите программу, которая перебирает целые числа, большие 730000, и ищет среди них такие, для которых M при делении на 9 даёт остаток 4. Выведите первые пять найденных чисел и соответствующие значения M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(730001, 830000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 9 == 4:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:730012 365008 730029 243346 730030 365017 730048 365026 730066 365035
#25211 Делители
Рассмотрим сумму минимального и максимального натуральных делителей числа, не считая единицы и самого числа. Среди целых чисел, больших 810000, найдите первые пять чисел, для которых эта сумма оканчивается на 6. Для каждого найденного числа укажите вычисленную сумму. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(810001, 910000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 10 == 6:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:810005 162006 810008 405006 810009 270006 810028 405016 810039 270016
#25212 Делители
Обозначим через M сумму минимального и максимального нетривиальных делителей числа. Среди чисел, больших 860000, найдите первые пять таких, для которых значение M при делении на 13 даёт остаток 5. Для каждого найденного числа запишите значение M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(860001, 960000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 13 == 5:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:860008 430006 860015 172008 860027 122868 860034 430019 860060 430032
#25213 Делители
Пусть M — сумма наименьшего и наибольшего нетривиальных делителей числа. Напишите программу, которая перебирает целые числа, большие 915000, и ищет среди них такие, для которых значение M оканчивается на 0. Выведите первые пять найденных чисел и соответствующие значения M. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
k = 0
for n in range(915001, 1015000):
    s = f(n)
    if len(s) >= 1:
        m = min(s) + max(s)
        if m % 10 == 0:
            print(n, m)
            k += 1
            if k == 5:
                break
Ответ:915001 9530 915011 2100 915016 457510 915021 305010 915025 183010
#25214 Делители
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [130000; 130020], числа, имеющие ровно 4 различных делителя. Выведите эти четыре делителя для каждого найденного числа в порядке убывания. Количество строк в таблице для ответа избыточно.
for i in range(130000, 130020 + 1):
    d = []
    for j in range(1, i + 1):
        if i % j == 0:
            d.append(j)
    if len(d) == 4:
        d.sort(reverse=True)
        print(*d)
Ответ:130001 1831 71 1 130006 65003 2 1 130007 4483 29 1 130015 26003 5 1 130019 5653 23 1
#25215 Делители
Напишите программу, которая просматривает все целые числа из отрезка [140000; 140020] и отбирает числа, имеющие ровно четыре различных делителя. Для каждого такого числа выведите все четыре делителя в порядке убывания. Количество строк в таблице для ответа избыточно.
for i in range(140000, 140020 + 1):
    d = []
    for j in range(1, i + 1):
        if i % j == 0:
            d.append(j)
    if len(d) == 4:
        d.sort(reverse=True)
        print(*d)
Ответ:140002 70001 2 1 140003 733 191 1 140005 28001 5 1 140006 70003 2 1 140011 7369 19 1 140017 859 163 1 140018 70009 2 1
#25216 Делители
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [23000; 23030], числа, имеющие ровно три различных нечётных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа в порядке возрастания запишите эти три делителя в порядке возрастания. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
for n in range(23000, 23030 + 1):
    s = f(n)
    h = [x for x in s if x % 2 != 0]
    if len(h) == 3:
        print(*h)
Ответ:11 523 5753 37 311 11507 17 677 11509 5 1151 5755 29 397 11513
#25217 Делители
Среди чисел от 24000 до 24030 найдите все числа, имеющие ровно три различных нечётных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти три делителя в порядке возрастания. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
for n in range(24000, 24030 + 1):
    s = f(n)
    h = [x for x in s if x % 2 != 0]
    if len(h) == 3:
        print(*h)
Ответ:11 1091 12001 17 353 6001 3 4001 12003 19 79 1501 3 4003 12009 5 1201 6005 41 293 12013
#25218 Делители
Напишите программу, которая просматривает все целые числа на отрезке [25000; 25030] и выбирает из них числа, имеющие ровно три различных нечётных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа выведите эти три делителя в порядке возрастания. Количество строк в таблице для ответа избыточно.
def f(n):
    dels = set()
    for d in range(2, int(n ** 0.5) + 1):
        if n % d == 0:
            dels.add(d)
            dels.add(n // d)
    return sorted(dels)
for n in range(25000, 25030 + 1):
    s = f(n)
    h = [x for x in s if x % 2 != 0]
    if len(h) == 3:
        print(*h)
Ответ:3 521 1563 53 59 3127 7 1787 12509 17 23 391 5 2503 12515
#25219 Делители
Обозначим через M сумму минимального и максимального простых делителей целого числа, не считая самого числа. Если у числа нет простых делителей, то M считается равным нулю. Напишите программу, которая перебирает целые числа, большие 200000, в порядке возрастания и ищет среди них такие, для которых значение M при делении на 7 даёт в остатке 3 и оканчивается на цифру 8. Выведите первые пять найденных чисел и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(200001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if M % 7 == 3 and str(M).endswith('8'):
        print(x, M)
        k += 1
        if k == 5:
            break
Ответ:200021 1578 200027 948 200137 28598 200167 598 200233 178
#25220 Делители
Пусть M — сумма наименьшего и наибольшего простых делителей числа, не считая самого числа. Если у числа нет простых делителей, то значение M считается равным нулю. Среди чисел, больших 210000, найдите первые пять таких, для которых M при делении на 11 даёт остаток 5 и при этом запись числа M не начинается с цифры 1. Для каждого найденного числа выведите само число и значение M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(210001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if M % 11 == 5 and not str(M).startswith('1'):
        print(x, M)
        k += 1
        if k == 5:
            break
Ответ:210023 324 210066 225 210068 52519 210089 280 210117 70042
#25221 Делители
Обозначим через S сумму всех различных простых делителей целого числа, не считая самого числа. Если у числа нет простых делителей, то S = 0. Напишите программу, которая перебирает целые числа, большие 220000, в порядке возрастания и ищет среди них такие, для которых значение S кратно 13 и оканчивается на цифру 4. Выведите первые пять найденных чисел и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(220001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    if S % 13 == 0 and str(S).endswith('4'):
        print(x, S)
        k += 1
        if k == 5:
            break
Ответ:220263 73424 220347 8164 220432 624 220670 22074 220776 9204
#25222 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Если у числа нет простых делителей, то F = 0. Среди целых чисел, больших 230000, найдите первые пять чисел, для которых значение F не равно нулю, делится на 17 и не оканчивается на цифру 0. В ответе укажите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(230001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    if F != 0 and F % 17 == 0 and not str(F).endswith('0'):
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:230001 38335 230042 57511 230053 493 230087 544 230097 3655
#25223 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 240000, для которых одновременно выполняются условия: среди простых делителей есть число, оканчивающееся на цифру 7; сумма всех различных простых делителей кратна 9; запись этой суммы начинается с цифры 1. Для каждого найденного числа выведите максимальный простой делитель, оканчивающийся на 7. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(240001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    h = [i for i in d if str(i).endswith('7')]
    S = sum(d) if len(d) > 0 else 0
    if len(h) > 0 and S % 9 == 0 and str(S).startswith('1'):
        print(x, max(h))
        k += 1
        if k == 5:
            break
Ответ:240030 127 240058 7 240125 17 240134 120067 240142 17
#25224 Делители
Среди чисел, больших 250000, найдите первые пять таких, для которых выполняются условия: среди различных простых делителей есть число, начинающееся с цифры 2; сумма минимального и максимального простых делителей кратна 8; запись этой суммы не оканчивается на цифру 4. Для каждого найденного числа укажите минимальный простой делитель, начинающийся с цифры 2. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(250001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    h = [i for i in d if str(i).startswith('2')]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if len(h) > 0 and M % 8 == 0 and not str(M).endswith('4'):
        print(x, min(h))
        k += 1
        if k == 5:
            break
Ответ:250033 23 250113 263 250125 23 250131 277 250151 22741
#25225 Делители
Рассмотрим различные простые делители числа, не считая самого числа. Напишите программу, которая среди чисел, больших 260000, ищет первые пять чисел, у которых ровно два простых делителя оканчиваются на цифру 1, сумма всех простых делителей делится на 3 и оканчивается на цифру 2. В ответе запишите найденное число и максимальный простой делитель, оканчивающийся на 1. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(260001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    h = [i for i in d if str(i).endswith('1')]
    S = sum(d) if len(d) > 0 else 0
    if len(h) == 2 and S % 3 == 0 and str(S).endswith('2'):
        print(x, max(h))
        k += 1
        if k == 5:
            break
Ответ:260381 23671 260531 4271 260801 6361 261371 23761 261481 2161
#25226 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 270000, найдите первые пять таких, для которых количество различных простых делителей не меньше трёх, значение F делится на 7 и запись числа F начинается с цифры 1. Для каждого найденного числа выведите значение F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(270001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) >= 3 and str(F).startswith('1') and F % 7 == 0:
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:270020 154 270134 1463 270192 112 270249 196 270259 133
#25227 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Найдите первые пять чисел, больших 280000, для которых запись значения M оканчивается на цифру 6, сама сумма M кратна 5, а её запись не начинается с цифры 2. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(280001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    S = sum(d) if len(d) > 0 else 0
    if str(M).endswith('6') and S % 5 == 0 and not str(M).startswith('2'):
        print(x, M)
        k += 1
        if k == 5:
            break
Ответ:280111 756 280137 656 280155 986 280191 1586 280317 56
#25228 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Среди целых чисел, больших 290000, найдите первые пять чисел, для которых значение S начинается с цифры 9, делится на 6 и не оканчивается на цифру 0. Для каждого найденного числа выведите само число и значение S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(290001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    if str(S).startswith('9') and S % 6 == 0 and not str(S).endswith('0'):
        print(x, S)
        k += 1
        if k == 5:
            break
Ответ:290377 96 290501 9402 290687 9408 290702 954 291520 918
#25229 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 300000, для которых выполняются условия: число имеет ровно три различных простых делителя; целая часть среднего арифметического этих делителей делится на 11 и оканчивается на цифру 1; минимальный простой делитель оканчивается на цифру 3. В ответе запишите найденное число и его минимальный простой делитель. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(300001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 3 and F % 11 == 0 and str(F).endswith('1') and str(d[0]).endswith('3'):
        print(x, d[0])
        k += 1
        if k == 5:
            break
Ответ:301203 3 303207 3 303603 3 304291 13 304317 3
#25230 Делители
Пусть для числа рассматриваются все различные простые делители, не считая самого числа. Среди чисел, больших 310000, найдите первые пять таких, у которых максимальный простой делитель начинается с цифры 1, сумма минимального и максимального простых делителей кратна 9 и оканчивается на цифру 5. В ответе выведите найденные числа и соответствующие им максимальные простые делители. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(310001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) > 0 and str(d[-1]).startswith('1') and M % 9 == 0 and str(M).endswith('5'):
        print(x, d[-1])
        k += 1
        if k == 5:
            break
Ответ:310114 1303 310406 155203 310528 1213 310766 155383 310946 155473
#25231 Делители
Напишите программу, которая перебирает целые числа, большие 320000, и ищет среди них первые пять чисел, для которых среди различных простых делителей есть число, оканчивающееся на цифру 9; сумма всех простых делителей кратна 14; запись целой части среднего арифметического простых делителей не начинается с цифры 3. Для каждого найденного числа выведите минимальный простой делитель, оканчивающийся на 9. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(320001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    h = [i for i in d if str(i).endswith('9')]
    S = sum(d) if len(d) > 0 else 0
    F = sum(d) // len(d) if len(d) > 0 else 0
    if len(h) > 0 and S % 14 == 0 and not str(F).startswith('3'):
        print(x, min(h))
        k += 1
        if k == 5:
            break
Ответ:320029 79 320202 17789 320216 3079 320252 59 320407 859
#25232 Делители
Обозначим через M сумму наименьшего и наибольшего простых делителей числа, не считая самого числа. Среди чисел, больших 330000, найдите первые пять таких, которые имеют ровно четыре различных простых делителя, а значение M начинается с цифры 1 и делится на 4. Для каждого найденного числа укажите значение M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(330001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 4 and str(M).startswith('1') and M % 4 == 0:
        print(x, M)
        k += 1
        if k == 5:
            break
Ответ:330033 140 330099 1432 330135 1696 330435 1052 330525 116
#25233 Делители
Пусть F — целая часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Найдите первые пять чисел, больших 340000, для которых значение F делится на 13, оканчивается на цифру 7, а сумма всех различных простых делителей не начинается с цифры 1. Для каждого найденного числа выведите значение F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(340001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    S = sum(d) if len(d) > 0 else 0
    if F % 13 == 0 and str(F).endswith('7') and not str(S).startswith('1'):
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:340313 3237 340622 1547 341019 1807 341066 117 341149 1807
#25234 Делители
Среди целых чисел, больших 350000, найдите первые пять чисел, для которых среди различных простых делителей есть число, начинающееся с цифры 7, сумма всех простых делителей кратна 8 и оканчивается на цифру 8. В ответе запишите найденные числа и максимальные простые делители, начинающиеся с цифры 7. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(350001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    h = [i for i in d if str(i).startswith('7')]
    S = sum(d) if len(d) > 0 else 0
    if len(h) > 0 and S % 8 == 0 and str(S).endswith('8'):
        print(x, max(h))
        k += 1
        if k == 5:
            break
Ответ:350015 70003 350050 7001 350523 79 350527 71 350615 70123
#25235 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 360000, которые имеют ровно два различных простых делителя, максимальный простой делитель начинается с цифры 2, сумма минимального и максимального простых делителей кратна 5 и при этом не оканчивается на цифру 0. Для каждого найденного числа выведите значение этой суммы. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(360001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 2 and M % 5 == 0 and not str(M).endswith('0') and str(d[-1]).startswith('2'):
        print(x, M)
        k += 1
        if k == 5:
            break
Ответ:360688 22545 361168 22575 361808 22615 362288 22645 362624 2835
#25236 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Среди целых чисел, больших 370000, найдите первые пять чисел, для которых значение S делится на 7, начинается с цифры 2, а среди простых делителей есть число, оканчивающееся на цифру 3. Для каждого найденного числа укажите максимальный простой делитель, оканчивающийся на 3. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(370001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    h = [i for i in d if str(i).endswith('3')]
    S = sum(d) if len(d) > 0 else 0
    if len(h) > 0 and S % 7 == 0 and str(S).startswith('2'):
        print(x, max(h))
        k += 1
        if k == 5:
            break
Ответ:370019 28463 370201 13 370220 173 370273 43 370311 53
#25237 Делители
Пусть F — целая часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 380000, найдите первые пять таких, у которых количество различных простых делителей не меньше двух, значение F начинается с цифры 4 и делится на 9. Для каждого найденного числа выведите значение F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(380001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) >= 2 and str(F).startswith('4') and F % 9 == 0:
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:380012 47502 380084 47511 380086 405 380146 4878 380175 45
#25238 Делители
Среди чисел, больших 390000, найдите первые пять таких, для которых среди различных простых делителей есть число, начинающееся с цифры 5; сумма минимального и максимального простых делителей делится на 6 и не оканчивается на цифру 2. В ответе запишите найденные числа и минимальные простые делители, начинающиеся с цифры 5. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(390001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    h = [i for i in d if str(i).startswith('5')]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if len(h) > 0 and M % 6 == 0 and not str(M).endswith('2'):
        print(x, min(h))
        k += 1
        if k == 5:
            break
Ответ:390011 547 390025 5 390047 55721 390095 5 390125 5
#25239 Делители
Обозначим через S сумму всех различных простых делителей целого числа, не считая самого числа. Если у числа нет таких делителей, то S = 0. Напишите программу, которая перебирает целые числа, большие 410000, в порядке возрастания и ищет среди них такие, для которых значение S при делении на 14 даёт в остатке 7, запись числа S начинается с цифры 2, а среди простых делителей есть число, оканчивающееся на цифру 3. Выведите первые пять найденных чисел и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(410001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('3')]
    if S % 14 == 7 and str(S).startswith('2') and len(h) > 0:
        print(x, S)
        k += 1
        if k == 5:
            break
Ответ:410126 205065 410266 205135 410642 217 410644 217 410955 27405
#25240 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Если у числа нет таких делителей, то F = 0. Найдите первые пять чисел, больших 420000, для которых значение F не равно нулю, делится на 9, не оканчивается на цифру 0, а число имеет не менее трёх различных простых делителей. В ответе запишите найденные числа и соответствующие значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(420001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) >= 3 and F != 0 and F % 9 == 0 and not str(F).endswith('0'):
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:420002 288 420004 63 420005 225 420020 7002 420021 45
#25241 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Если у числа нет таких делителей, то M = 0. Среди целых чисел, больших 430000, найдите первые пять чисел, для которых среди простых делителей есть число, оканчивающееся на цифру 7, значение M при делении на 8 даёт остаток 2 и запись числа M не начинается с цифры 1. Для каждого найденного числа укажите максимальный простой делитель, оканчивающийся на цифру 7. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(430001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('7')]
    if len(h) > 0 and M % 8 == 2 and not str(M).startswith('1'):
        print(x, max(h))
        k += 1
        if k == 5:
            break
Ответ:430049 617 430051 197 430059 7 430171 7 430201 8117
#25242 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 440000, для которых среди простых делителей есть число, начинающееся с цифры 2, сумма всех простых делителей при делении на 5 даёт остаток 1, а запись этой суммы оканчивается на цифру 6. В ответе для каждого найденного числа запишите минимальный простой делитель, начинающийся с цифры 2. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(440001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('2')]
    if len(h) > 0 and S % 5 == 1 and str(S).endswith('6'):
        print(x, min(h))
        k += 1
        if k == 5:
            break
Ответ:440012 2 440024 2 440052 2 440064 2 440076 2
#25243 Делители
Обозначим через M сумму минимального и максимального простых делителей числа, не считая самого числа. Если у числа нет простых делителей, то M = 0. Среди чисел, больших 450000, найдите первые пять таких, которые имеют ровно три различных простых делителя, а значение M при делении на 7 даёт остаток 4 и начинается с цифры 1. Для каждого найденного числа выведите значение M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(450001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 3 and M % 7 == 4 and str(M).startswith('1'):
        print(x, M)
        k += 1
        if k == 5:
            break
Ответ:450040 11253 450081 1166 450082 1621 450175 1642 450206 1383
#25244 Делители
Пусть F — целая часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Если у числа нет таких делителей, то F = 0. Напишите программу, которая ищет среди целых чисел, больших 460000, первые пять чисел, для которых значение F делится на 11, начинается с цифры 3 и не оканчивается на цифру 5. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(460001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    if F % 11 == 0 and str(F).startswith('3') and not str(F).endswith('5'):
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:460009 33 460035 3410 460103 32868 460282 330 460322 3344
#25245 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 470000, для которых среди простых делителей есть число, начинающееся с цифры 5, сумма минимального и максимального простых делителей кратна 9 и оканчивается на цифру 4. Для каждого найденного числа выведите максимальный простой делитель, начинающийся с цифры 5. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(470001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('5')]
    if len(h) > 0 and M % 9 == 0 and str(M).endswith('4'):
        print(x, max(h))
        k += 1
        if k == 5:
            break
Ответ:470045 5 470495 5 471385 5 471475 5 471905 5
#25246 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Если у числа нет таких делителей, то S = 0. Среди целых чисел, больших 480000, найдите первые пять чисел, имеющих ровно четыре различных простых делителя, для которых значение S кратно 6, оканчивается на цифру 8 и не начинается с цифры 1. Выведите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(480001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    if len(d) == 4 and S % 6 == 0 and str(S).endswith('8') and not str(S).startswith('1'):
        print(x, S)
        k += 1
        if k == 5:
            break
Ответ:480777 888 481117 348 481515 738 481545 78 481585 288
#25247 Делители
Пусть F — целая часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди целых чисел, больших 490000, найдите первые пять чисел, для которых значение F делится на 13, начинается с цифры 1, а среди простых делителей есть число, оканчивающееся на цифру 9. Для каждого найденного числа выведите минимальный простой делитель, оканчивающийся на 9. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(490001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('9')]
    if len(h) > 0 and F % 13 == 0 and str(F).startswith('1'):
        print(x, min(h))
        k += 1
        if k == 5:
            break
Ответ:490054 59 490064 109 490181 19 490245 29 490253 139
#25248 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Найдите первые пять чисел, больших 500000, для которых среди простых делителей есть число, начинающееся с цифры 7, значение M кратно 5 и при этом не оканчивается на цифру 0. Для каждого найденного числа выведите значение M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(500001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('7')]
    if len(h) > 0 and M % 5 == 0 and not str(M).endswith('0'):
        print(x, M)
        k += 1
        if k == 5:
            break
Ответ:500052 5955 500066 1555 500164 17865 500228 1585 500248 8935
#25249 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 510000, найдите первые пять таких, для которых значение S при делении на 16 даёт остаток 8, начинается с цифры 4, а среди простых делителей есть число, оканчивающееся на цифру 1. Для каждого найденного числа выведите значение S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(510001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('1')]
    if len(h) > 0 and S % 16 == 8 and str(S).startswith('4'):
        print(x, S)
        k += 1
        if k == 5:
            break
Ответ:510191 46392 510939 424 511247 46488 511332 42616 512303 46584
#25250 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди целых чисел, больших 520000, найдите первые пять чисел, у которых ровно два различных простых делителя, значение F делится на 7, оканчивается на цифру 4, а среди простых делителей есть число, начинающееся с цифры 3. Для каждого найденного числа выведите значение F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(520001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('3')]
    if len(d) == 2 and F % 7 == 0 and str(F).endswith('4') and len(h) > 0:
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:520112 16254 521407 15344 522352 16324 523151 924 525047 8484
#25251 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 530000, для которых среди простых делителей есть число, оканчивающееся на цифру 3, сумма всех простых делителей при делении на 9 даёт остаток 5 и эта сумма не оканчивается на цифру 2. Для каждого найденного числа укажите максимальный простой делитель, оканчивающийся на цифру 3. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(530001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('3')]
    if len(h) > 0 and S % 9 == 5 and not str(S).endswith('2'):
        print(x, max(h))
        k += 1
        if k == 5:
            break
Ответ:530023 13 530056 1123 530059 1873 530067 3 530124 3
#25252 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди целых чисел, больших 540000, найдите первые пять чисел, для которых среди простых делителей есть число, начинающееся с цифры 1, значение M начинается с цифры 2 и при делении на 6 даёт остаток 3. Для каждого найденного числа выведите минимальный простой делитель, начинающийся с цифры 1. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(540001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('1')]
    if len(h) > 0 and str(M).startswith('2') and M % 6 == 3:
        print(x, min(h))
        k += 1
        if k == 5:
            break
Ответ:540022 17 540034 11 540056 11 540086 199 540098 13
#25253 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 550000, найдите первые пять таких, которые имеют ровно три различных простых делителя, среди которых есть число, оканчивающееся на цифру 7, а значение S оканчивается на цифру 4 и не начинается с цифры 3. Для каждого найденного числа выведите значение S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(550001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('7')]
    if len(d) == 3 and len(h) > 0 and str(S).endswith('4') and not str(S).startswith('3'):
        print(x, S)
        k += 1
        if k == 5:
            break
Ответ:550280 13764 550540 27534 550570 55064 550700 5514 551170 55124
#25254 Делители
Пусть F — целая часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди целых чисел, больших 560000, найдите первые пять чисел, имеющих не менее четырёх различных простых делителей, для которых значение F начинается с цифры 2 и при делении на 8 даёт остаток 4. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(560001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) >= 4 and str(F).startswith('2') and F % 8 == 4:
        print(x, F)
        k += 1
        if k == 5:
            break
Ответ:560070 28 560120 20 560252 28 560505 28 560511 20
#25255 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 570000, для которых среди простых делителей есть число, начинающееся с цифры 2, сумма всех простых делителей кратна 11 и оканчивается на цифру 6. Для каждого найденного числа выведите максимальный простой делитель, начинающийся с цифры 2. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(570001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    S = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('2')]
    if len(h) > 0 and S % 11 == 0 and str(S).endswith('6'):
        print(x, max(h))
        k += 1
        if k == 5:
            break
Ответ:570239 24793 570298 2 570606 2 570972 2 570980 28549
#25256 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди целых чисел, больших 580000, найдите первые пять чисел, которые имеют ровно два различных простых делителя, среди которых есть число, оканчивающееся на цифру 1, а значение M кратно 14 и не начинается с цифры 4. Для каждого найденного числа выведите значение M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(580001, 1500000):
    d = [i for i in div(x) if len(div(i)) == 0]
    M = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('1')]
    if len(d) == 2 and len(h) > 0 and M % 14 == 0 and not str(M).startswith('4'):
        print(x, M)
        k += 1
        if k == 5:
            break
Ответ:580061 2562 580205 116046 580247 1848 580459 52780 580579 1540
#25257 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 590000, найдите первые пять таких, у которых среди простых делителей не менее двух чисел оканчиваются на цифру 7, значение F начинается с цифры 5 и при делении на 6 даёт остаток 1. Для каждого найденного числа выведите минимальный простой делитель, оканчивающийся на цифру 7. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(590001, 1700000):
    d = [i for i in div(x) if len(div(i)) == 0]
    F = sum(d) // len(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('7')]
    if len(h) >= 2 and str(F).startswith('5') and F % 6 == 1:
        print(x, min(h))
        k += 1
        if k == 5:
            break
Ответ:591444 7 594717 137 596635 67 597027 127 601035 17
#25258 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 600000, для которых выполняются все условия: среди простых делителей есть число, оканчивающееся на цифру 1; сумма всех простых делителей при делении на 12 даёт остаток 4; запись этой суммы начинается с цифры 6. Для каждого найденного числа выведите максимальный простой делитель, оканчивающийся на цифру 1. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(600001, 3000000):
	pd = p(x)
	S = sum(pd) if pd else 0
	h = [i for i in pd if str(i).endswith('1')]
	if h and S % 12 == 4 and str(S).startswith('6'):
		print(x, max(h))
		k += 1
		if k == 5:
			break
Ответ:600489 66721 600930 11 601205 11 601510 661 601569 66841
#25259 Делители
Обозначим через S сумму всех различных простых делителей целого числа, не считая самого числа. Если у числа нет таких делителей, то S = 0. Напишите программу, которая перебирает целые числа, большие 610000, в порядке возрастания и ищет среди них такие, для которых значение S при делении на 17 даёт в остатке 5, запись числа S начинается с цифры 2, а среди простых делителей есть число, оканчивающееся на цифру 7. Выведите первые пять найденных чисел и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(610001, 2000000):
	pd = p(x)
	s = sum(pd) if pd else 0
	h = [i for i in pd if str(i).endswith('7')]
	if s % 17 == 5 and str(s).startswith('2') and h:
		print(x, s)
		k += 1
		if k == 5:
			break
Ответ:610001 277 610221 2011 610342 243 610657 2130 610729 2079
#25260 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Если у числа нет таких делителей, то M = 0. Среди целых чисел, больших 620000, найдите первые пять чисел, для которых число имеет ровно два различных простых делителя, значение M при делении на 9 даёт в остатке 4, запись значения M оканчивается на цифру 8, а среди простых делителей есть число, начинающееся с цифры 3. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(620001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('3')]
    if len(d) == 2 and m % 9 == 4 and str(m).endswith('8') and len(h) > 0:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:621067 2308 623407 36688 624937 36778 628087 3928 628627 3388
#25261 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Если у числа нет таких делителей, то F = 0. Напишите программу, которая перебирает целые числа, большие 630000, и ищет среди них такие, для которых число имеет не менее четырёх различных простых делителей, значение F кратно 13, не оканчивается на цифру 0, а среди простых делителей не менее двух чисел оканчиваются на цифру 3. Выведите первые пять найденных чисел и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(630001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('3')]
    if len(d) >= 4 and f % 13 == 0 and not str(f).endswith('0') and len(h) >= 2:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:630266 871 630315 13 630360 26 630380 195 630462 182
#25262 Делители
Рассматриваются все различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 640000, для которых сумма всех простых делителей при делении на 8 даёт остаток 6, запись этой суммы оканчивается на цифру 4, а среди простых делителей есть число, начинающееся с цифры 2. В ответе для каждого найденного числа запишите сумму всех простых делителей. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(640001, 2000000):
	pd = p(x)
	s = sum(pd) if pd else 0
	h = [i for i in pd if str(i).startswith('2')]
	if s % 8 == 6 and str(s).endswith('4') and h:
		print(x, s)
		k += 1
		if k == 5:
			break
Ответ:640070 64014 640102 1454 640216 1094 640225 25614 640242 35574
#25263 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди целых чисел, больших 650000, найдите первые пять чисел, которые имеют ровно три различных простых делителя, значение M при делении на 11 даёт остаток 7, запись значения M не начинается с цифры 1, а среди простых делителей есть число, оканчивающееся на цифру 9. Для каждого найденного числа выведите значение M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(650001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('9')]
    if len(d) == 3 and m % 11 == 7 and not str(m).startswith('1') and len(h) > 0:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:650003 502 650616 27111 650738 2691 650788 8565 650985 43402
#25264 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Напишите программу, которая перебирает целые числа, большие 660000, и ищет среди них такие, для которых значение F при делении на 7 даёт остаток 3, начинается с цифры 4, а среди простых делителей есть число, начинающееся с цифры 5. Выведите первые пять найденных чисел и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(660001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('5')]
    if f % 7 == 3 and str(f).startswith('4') and len(h) > 0:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:660328 486 660385 4007 661930 458 662535 4910 662660 493
#25265 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Среди целых чисел, больших 670000, найдите первые пять чисел, для которых значение S при делении на 12 даёт остаток 1, запись значения S не оканчивается на цифру 2, а среди простых делителей есть число, оканчивающееся на цифру 1. Для каждого найденного числа выведите значение S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(670001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('1')]
    if s % 12 == 1 and not str(s).endswith('2') and len(h) > 0:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:670010 6109 670034 241 670065 181 670071 961 670082 2113
#25266 Делители
Рассматриваются все различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 680000, для которых число имеет ровно четыре различных простых делителя, сумма всех простых делителей при делении на 7 даёт остаток 3, запись этой суммы начинается с цифры 5, а среди простых делителей есть число, начинающееся с цифры 7. В ответе для каждого найденного числа запишите сумму всех простых делителей. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(680001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('7')]
    if len(d) == 4 and s % 7 == 3 and str(s).startswith('5') and len(h) > 0:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:681093 598 681138 563 681989 556 684096 521 685062 5449
#25267 Делители
Пусть F — целая часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди целых чисел, больших 690000, найдите первые пять чисел, для которых значение F оканчивается на цифру 7, не начинается с цифры 2, а среди простых делителей есть число, оканчивающееся на цифру 7. Выведите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(690001, 2000000):
	pd = p(x)
	if not pd:
		continue
	f = sum(pd) // len(pd)
	h = [i for i in pd if str(i).endswith('7')]
	if str(f).endswith('7') and not str(f).startswith('2') and h:
		print(x, f)
		k += 1
		if k == 5:
			break
Ответ:690033 1167 690085 4187 690124 1567 690198 787 690263 7047
#25268 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Найдите первые пять чисел, больших 700000, для которых значение S при делении на 15 даёт остаток 8, запись значения S начинается с цифры 1, а среди простых делителей не менее двух чисел начинаются с цифры 2. Для каждого найденного числа выведите значение S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(700001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('2')]
    if s % 15 == 8 and str(s).startswith('1') and len(h) >= 2:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:700580 1553 701017 1103 701394 173 701626 12128 701822 128
#25269 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди чисел, больших 710000, найдите первые пять таких, которые имеют ровно три различных простых делителя, значение M при делении на 9 даёт остаток 1, оканчивается на цифру 5, а среди простых делителей есть число, начинающееся с цифры 2. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(710001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('2')]
    if len(d) == 3 and m % 9 == 1 and str(m).endswith('5') and len(h) > 0:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:710122 50725 710196 59185 710236 505 710378 15445 710426 5005
#25270 Делители
Рассматриваются различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 720000, для которых число имеет не менее четырёх различных простых делителей, сумма всех простых делителей при делении на 9 даёт остаток 2, запись этой суммы начинается с цифры 4, а среди простых делителей есть число, оканчивающееся на цифру 3. Для каждого найденного числа выведите сумму всех простых делителей. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(720001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('3')]
    if len(d) >= 4 and s % 9 == 2 and str(s).startswith('4') and len(h) > 0:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:720192 47 720423 416 720555 416 720620 407 721206 497
#25271 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди целых чисел, больших 730000, найдите первые пять чисел, для которых значение F при делении на 12 даёт остаток 4, оканчивается на цифру 6, а среди простых делителей есть число, начинающееся с цифры 2. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(730001, 2000000):
	pd = p(x)
	if not pd:
		continue
	f = sum(pd) // len(pd)
	h = [i for i in pd if str(i).startswith('2')]
	if f % 12 == 4 and str(f).endswith('6') and h:
		print(x, f)
		k += 1
		if k == 5:
			break
Ответ:730096 22816 730145 76 730146 436 730170 16 730212 2176
#25272 Делители
Пусть S — сумма всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 740000, найдите первые пять таких, которые имеют ровно два различных простых делителя, значение S при делении на 11 даёт остаток 6, не начинается с цифры 5, а среди простых делителей есть число, оканчивающееся на цифру 7. Для каждого найденного числа выведите значение S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(740001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('7')]
    if len(d) == 2 and s % 11 == 6 and not str(s).startswith('5') and len(h) > 0:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:740119 7024 740228 185059 740251 14020 740407 20048 740668 185169
#25273 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди целых чисел, больших 750000, найдите первые пять чисел, для которых значение M при делении на 16 даёт остаток 3, запись значения M начинается с цифры 6, а среди простых делителей есть число, начинающееся с цифры 3. Для каждого найденного числа выведите значение M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(750001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('3')]
    if m % 16 == 3 and str(m).startswith('6') and len(h) > 0:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:750840 6259 751068 675 751788 6963 753036 62755 753516 6979
#25274 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Найдите первые пять чисел, больших 760000, для которых число имеет не менее четырёх различных простых делителей, значение S кратно 7, оканчивается на цифру 8, а среди простых делителей есть число, оканчивающееся на цифру 9. Для каждого найденного числа выведите значение S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(760001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('9')]
    if len(d) >= 4 and s % 7 == 0 and str(s).endswith('8') and len(h) > 0:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:760206 308 760641 1288 760746 378 761244 168 761442 238
#25275 Делители
Пусть F — целая часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 770000, найдите первые пять таких, которые имеют ровно три различных простых делителя, значение F при делении на 9 даёт остаток 5, начинается с цифры 1, а среди простых делителей есть число, начинающееся с цифры 7. Для каждого найденного числа выведите значение F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(770001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('7')]
    if len(d) == 3 and f % 9 == 5 and str(f).startswith('1') and len(h) > 0:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:770091 12227 770566 1652 770854 18356 771673 1607 772359 12263
#25276 Делители
Рассматриваются все различные простые делители числа, не считая самого числа. Найдите первые пять чисел, больших 780000, для которых сумма всех простых делителей при делении на 13 даёт остаток 9, запись этой суммы не оканчивается на цифру 4, а среди простых делителей есть число, оканчивающееся на цифру 1. Для каждого найденного числа выведите сумму всех простых делителей. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(780001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('1')]
    if s % 13 == 9 and not str(s).endswith('4') and len(h) > 0:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:780006 1907 780084 269 780121 2180 780129 100 780270 880
#25277 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди целых чисел, больших 790000, найдите первые пять чисел, для которых значение M при делении на 10 даёт остаток 1, начинается с цифры 2, а среди простых делителей есть число, начинающееся с цифры 5. Для каждого найденного числа выведите значение M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(790001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    h = [i for i in d if str(i).startswith('5')]
    if m % 10 == 1 and str(m).startswith('2') and len(h) > 0:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:790020 21 790050 231 790170 26341 790190 2551 790400 21
#25278 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 800000, найдите первые пять таких, которые имеют не менее четырёх различных простых делителей, значение F при делении на 11 даёт остаток 2, не начинается с цифры 3, а среди простых делителей есть число, оканчивающееся на цифру 7. Для каждого найденного числа выведите значение F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(800001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    h = [i for i in d if str(i).endswith('7')]
    if len(d) >= 4 and f % 11 == 2 and not str(f).startswith('3') and len(h) > 0:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:800014 156 800142 4765 800380 1432 800564 68 800590 2862
#25279 Делители
Обозначим через S сумму всех различных простых делителей целого числа, не считая самого числа. Напишите программу, которая перебирает целые числа, большие 813000, в порядке возрастания и ищет среди них такие, для которых выполняются все условия: – число имеет ровно 3 различных простых делителя; – значение S кратно 37 и при делении на 37 даёт остаток 9; – запись числа S начинается с цифры 2; – запись числа S не оканчивается на цифру 6; – среди простых делителей есть хотя бы один, оканчивающийся на цифру 7; – в двоичной записи числа S содержится ровно 7 нулей. Выведите первые 5 найденных чисел и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(813001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 3 and s % 37 == 9 and str(s).startswith('2') and not str(s).endswith('6') and any(str(i).endswith('7') for i in d) and bin(s)[2:].count('0') == 7:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:813586 23948 825123 21173 828682 24392 844235 24133 852986 22468
#25280 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди целых чисел, больших 874000, найдите первые 5 чисел, для которых одновременно выполнены условия: – число имеет ровно 4 различных простых делителя; – значение M при делении на 29 даёт остаток 8; – запись числа M не начинается с цифры 1; – запись числа M оканчивается на цифру 5; – среди простых делителей ровно 2 числа начинаются с цифры 2; – в двоичной записи числа M содержится ровно 6 единиц. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(874001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 4 and m % 29 == 8 and not str(m).startswith('1') and str(m).endswith('5') and sum(str(i).startswith('2') for i in d) == 2 and bin(m)[2:].count('1') == 6:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:874002 5025 955190 4155 1146228 4155 1155290 5025 1204370 4155
#25281 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Найдите первые 5 чисел, больших 850000, для которых выполняются условия: – число имеет ровно 3 различных простых делителя; – значение F при делении на 17 даёт остаток 6; – запись числа F начинается с цифры 3; – запись числа F не оканчивается на цифру 4; – среди простых делителей есть хотя бы один, начинающийся с цифры 5; – в двоичной записи числа F содержится не менее 4 нулей. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(850001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 3 and f % 17 == 6 and str(f).startswith('3') and not str(f).endswith('4') and any(str(i).startswith('5') for i in d) and bin(f)[2:].count('0') >= 4:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:850865 397 851132 312 852535 397 853725 3797 854875 329
#25282 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Напишите программу, которая ищет среди целых чисел, больших 880000, первые 5 чисел, для которых одновременно выполнены условия: – число имеет ровно 4 различных простых делителя; – значение S при делении на 31 даёт остаток 11; – запись числа S начинается с цифры 4; – запись числа S не оканчивается на цифру 8; – среди простых делителей есть хотя бы один, кратный 13; – в двоичной записи числа S количество единиц больше количества нулей. В ответе запишите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(880001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 4 and s % 31 == 11 and str(s).startswith('4') and not str(s).endswith('8') and any(i % 13 == 0 for i in d) and bin(s)[2:].count('1') > bin(s)[2:].count('0'):
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:881127 476 884975 414 906269 476 906763 414 922701 476
#25283 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди чисел, больших 900000, найдите первые 5 чисел, для которых одновременно выполняются условия: – число имеет ровно 3 различных простых делителя; – значение M при делении на 23 даёт остаток 7; – запись числа M начинается с цифры 5; – запись числа M не оканчивается на цифру 2; – среди простых делителей есть хотя бы один, оканчивающийся на цифру 1; – разность между максимальным и минимальным простыми делителями кратна 4. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(900001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 3 and m % 23 == 7 and str(m).startswith('5') and not str(m).endswith('2') and any(str(i).endswith('1') for i in d) and (d[-1] - d[0]) % 4 == 0:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:902255 5826 930921 5090 1018675 5826 1076885 5826 1083531 5090
#25284 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Найдите первые 5 чисел, больших 1038000, для которых: – число имеет ровно 4 различных простых делителя; – значение F при делении на 21 даёт остаток 10; – запись числа F не начинается с цифры 2; – запись числа F оканчивается на цифру 7; – среди простых делителей ровно 2 числа оканчиваются на цифру 3; – в двоичной записи числа F содержится ровно 5 нулей. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1038001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 4 and f % 21 == 10 and not str(f).startswith('2') and str(f).endswith('7') and sum(str(i).endswith('3') for i in d) == 2 and bin(f)[2:].count('0') == 5:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:1038378 3937 1076055 787 1128378 787 1204698 4567 1227018 3937
#25285 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 930000, найдите первые 5 таких, для которых выполняются условия: – число имеет ровно 3 различных простых делителя; – значение S при делении на 35 даёт остаток 12; – запись числа S начинается с цифры 6; – запись числа S не оканчивается на цифру 0; – среди простых делителей есть хотя бы один, начинающийся с цифры 7; – в двоичной записи числа S содержится ровно 7 единиц. В ответе запишите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(930001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 3 and s % 35 == 12 and str(s).startswith('6') and not str(s).endswith('0') and any(str(i).startswith('7') for i in d) and bin(s)[2:].count('1') == 7:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:931539 6347 935942 66862 936922 66932 941822 67282 948682 67772
#25286 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Найдите первые 5 чисел, больших 950000, для которых: – число имеет ровно 4 различных простых делителя; – значение M при делении на 27 даёт остаток 6; – запись числа M не начинается с цифры 4; – запись числа M оканчивается на цифру 3; – среди простых делителей есть хотя бы один, начинающийся с цифры 3; – максимальный простой делитель не оканчивается на цифру 5. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(950001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 4 and m % 27 == 6 and not str(m).startswith('4') and str(m).endswith('3') and any(str(i).startswith('3') for i in d) and not str(d[-1]).endswith('5'):
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:950388 2733 951142 33 952320 33 952428 573 953498 33
#25287 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 970000, найдите первые 5 таких, для которых: – число имеет ровно 3 различных простых делителя; – значение F при делении на 19 даёт остаток 14; – запись числа F начинается с цифры 1; – запись числа F не оканчивается на цифру 9; – среди простых делителей есть хотя бы один, оканчивающийся на цифру 9; – в двоичной записи числа F содержится не менее 3 нулей. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(970001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 3 and f % 19 == 14 and str(f).startswith('1') and not str(f).endswith('9') and any(str(i).endswith('9') for i in d) and bin(f)[2:].count('0') >= 3:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:970240 128 971262 17988 972598 1344 972704 128 973921 1325
#25288 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Найдите первые 5 чисел, больших 998000, для которых: – число имеет ровно 4 различных простых делителя; – значение S при делении на 26 даёт остаток 15; – запись числа S не начинается с цифры 6; – запись числа S оканчивается на цифру 1; – среди простых делителей есть хотя бы один, начинающийся с цифры 8; – в двоичной записи числа S количество единиц больше количества нулей. В ответе запишите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(998001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 4 and s % 26 == 15 and not str(s).startswith('6') and str(s).endswith('1') and any(str(i).startswith('8') for i in d) and bin(s)[2:].count('1') > bin(s)[2:].count('0'):
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:998158 951 1019214 8101 1050530 8101 1062838 951 1077260 951
#25289 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди целых чисел, больших 1010000, найдите первые 5 чисел, для которых: – число имеет ровно 3 различных простых делителя; – значение M при делении на 33 даёт остаток 4; – запись числа M начинается с цифры 7; – запись числа M не оканчивается на цифру 6; – среди простых делителей есть хотя бы один, начинающийся с цифры 2; – в двоичной записи числа M содержится ровно 6 нулей. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1010001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 3 and m % 33 == 4 and str(m).startswith('7') and not str(m).endswith('6') and any(str(i).startswith('2') for i in d) and bin(m)[2:].count('0') == 6:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:1010422 72175 1012906 7561 1028024 7561 1030594 7693 1042985 7198
#25290 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Найдите первые 5 чисел, больших 1031000, для которых: – число имеет ровно 4 различных простых делителя; – значение F при делении на 24 даёт остаток 13; – запись числа F не начинается с цифры 1; – запись числа F оканчивается на цифру 5; – среди простых делителей есть хотя бы один, оканчивающийся на цифру 7; – в двоичной записи числа F содержится не менее 4 нулей. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1031001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 4 and f % 24 == 13 and not str(f).startswith('1') and str(f).endswith('5') and any(str(i).endswith('7') for i in d) and bin(f)[2:].count('0') >= 4:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:1031562 685 1032318 685 1035636 3085 1037290 565 1041978 6205
#25291 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 1132000, найдите первые 5 чисел, для которых: – число имеет ровно 3 различных простых делителя; – значение S при делении на 41 даёт остаток 19; – запись числа S начинается с цифры 3; – запись числа S не оканчивается на цифру 7; – среди простых делителей есть хотя бы один, кратный 11; – в двоичной записи числа S содержится ровно 8 единиц. В ответе запишите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1132001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 3 and s % 41 == 19 and str(s).startswith('3') and not str(s).endswith('7') and any(i % 11 == 0 for i in d) and bin(s)[2:].count('1') == 8:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:1132923 3135 1239513 37575 1263867 38313 1329812 30236 1340636 30482
#25292 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Найдите первые 5 чисел, больших 1295000, для которых: – число имеет ровно 4 различных простых делителя; – значение S при делении на 27 даёт остаток 8; – запись числа S не начинается с цифры 2; – запись числа S оканчивается на цифру 5; – среди простых делителей есть хотя бы один, оканчивающийся на цифру 7; – в двоичной записи числа S содержится ровно 6 нулей. В ответе запишите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1295001, 3000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 4 and s % 27 == 8 and not str(s).startswith('2') and str(s).endswith('5') and any(str(i).endswith('7') for i in d) and bin(s)[2:].count('0') == 6:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:1295706 12725 1308670 11915 1488486 14615 1499778 11915 1601838 12725
#25293 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди чисел, больших 1090000, найдите первые 5 таких, для которых: – число имеет ровно 3 различных простых делителя; – значение M при делении на 22 даёт остаток 15; – запись числа M начинается с цифры 4; – запись числа M не оканчивается на цифру 1; – среди простых делителей есть хотя бы один, начинающийся с цифры 1; – в двоичной записи числа M количество единиц больше количества нулей. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(1090001, 2000000):
	pd = p(x)
	if len(pd) != 3:
		continue
	m = min(pd) + max(pd)
	h = [i for i in pd if str(i).startswith('1')]
	if m % 22 == 15 and str(m).startswith('4') and not str(m).endswith('1') and h and bin(m)[2:].count('1') > bin(m)[2:].count('0'):
		print(x, m)
		k += 1
		if k == 5:
			break
Ответ:1094566 4525 1103726 42453 1104298 42475 1105214 4569 1111162 42739
#25294 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 1112000, найдите первые 5 чисел, для которых выполняются условия: – число имеет ровно 4 различных простых делителя; – значение F при делении на 30 даёт остаток 17; – запись числа F начинается с цифры 2; – запись числа F не оканчивается на цифру 8; – среди простых делителей есть хотя бы один, начинающийся с цифры 4; – в двоичной записи числа F содержится ровно 5 единиц. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(1112001, 2000000):
	pd = p(x)
	if len(pd) != 4:
		continue
	f = sum(pd) // 4
	h = [i for i in pd if str(i).startswith('4')]
	if f % 30 == 17 and str(f).startswith('2') and not str(f).endswith('8') and h and bin(f)[2:].count('1') == 5:
		print(x, f)
		k += 1
		if k == 5:
			break
Ответ:1122548 227 1154109 227 1210218 227 1210407 227 1224318 227
#25295 Делители
Обозначим через S сумму всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 1134000, найдите первые 5 таких, для которых: – число имеет ровно 3 различных простых делителя; – значение S при делении на 41 даёт остаток 19; – запись числа S начинается с цифры 3; – запись числа S не оканчивается на цифру 7; – среди простых делителей есть хотя бы один, оканчивающийся на цифру 7; – в двоичной записи числа S содержится не менее 4 нулей. В ответе запишите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1134001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 3 and s % 41 == 19 and str(s).startswith('3') and not str(s).endswith('7') and any(str(i).endswith('7') for i in d) and bin(s)[2:].count('0') >= 4:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:1134633 3463 1135426 306 1135985 3463 1146275 3545 1148539 3545
#25296 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей числа, не считая самого числа. Среди чисел, больших 1154000, найдите первые 5 чисел, для которых: – число имеет ровно 4 различных простых делителя; – значение F при делении на 30 даёт остаток 17; – запись числа F начинается с цифры 2; – запись числа F не оканчивается на цифру 8; – среди простых делителей есть хотя бы один, начинающийся с цифры 4; – в двоичной записи числа F содержится ровно 5 единиц. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1154001, 2000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 4 and f % 30 == 17 and str(f).startswith('2') and not str(f).endswith('8') and any(str(i).startswith('4') for i in d) and bin(f)[2:].count('1') == 5:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:1154109 227 1210218 227 1210407 227 1224318 227 1225338 227
#25297 Делители
Пусть M — сумма минимального и максимального простых делителей числа, не считая самого числа. Среди чисел, больших 1173000, найдите первые 5 таких, для которых: – число имеет ровно 3 различных простых делителя; – значение M при делении на 13 даёт остаток 7; – запись числа M оканчивается на цифру 4; – среди простых делителей есть хотя бы один, начинающийся с цифры 3; – в двоичной записи числа M содержится не менее 4 единиц. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def p(n):
    r, t, d = [], n, 2
    while d * d <= t:
        if t % d == 0:
            r.append(d)
            while t % d == 0:
                t //= d
        d += 1
    if t > 1:
        r.append(t)
    if r == [n]:
        r = []
    return r
k = 0
for x in range(1173001, 5000000):
    d = p(x)
    if len(d) != 3:
        continue
    m = d[0] + d[-1]
    if (m % 13 == 7
            and str(m).endswith('4')
            and any(str(i).startswith('3') for i in d)
            and bin(m)[2:].count('1') >= 4):
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:1173515 33534 1173519 1294 1173723 2594 1176415 6364 1177665 78514
#25298 Делители
Обозначим через M сумму минимального и максимального простых делителей числа, не считая самого числа. Среди чисел, больших 2049000, найдите первые 5 чисел, для которых: – число имеет ровно 4 различных простых делителя; – значение M при делении на 32 даёт остаток 10; – запись числа M начинается с цифры 8; – запись числа M не оканчивается на цифру 9; – среди простых делителей есть хотя бы один, кратный 17; – в двоичной записи числа M количество единиц больше количества нулей. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(2049001, 6000000):
	pd = p(x)
	if len(pd) != 4:
		continue
	m = min(pd) + max(pd)
	h = [i for i in pd if i % 17 == 0]
	if m % 32 == 10 and str(m).startswith('8') and not str(m).endswith('9') and h and bin(m)[2:].count('1') > bin(m)[2:].count('0'):
		print(x, m)
		k += 1
		if k == 5:
			break
Ответ:2049945 8042 2082585 8170 2097953 874 2869923 8042 2915619 8170
#25299 Делители
Обозначим через M сумму минимального и максимального простых делителей натурального числа, не считая самого числа. Напишите программу, которая перебирает натуральные числа, большие 1200000, в порядке возрастания и ищет среди них такие, для которых одновременно выполнены условия: – число имеет ровно 3 различных простых делителя; – значение M кратно 17; – в записи числа M ровно две цифры, значение которых больше 5; – запись числа M содержит сочетание цифр «55»; – среди простых делителей ровно один оканчивается на цифру 7. Выведите первые 5 найденных чисел и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
def cnt(n):
    return sum(int(c) > 5 for c in str(n))
k = 0
for x in range(1200001, 3000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 3 and m % 17 == 0 and cnt(m) == 2 and '55' in str(m) and sum(str(i).endswith('7') for i in d) == 1:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:1208473 5576 1229423 5576 1245755 35598 1295444 8755 1313205 87550
#25300 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей натурального числа, не считая самого числа. Напишите программу, которая перебирает натуральные числа, большие 1200000, в порядке возрастания и ищет среди них такие, для которых выполняются условия: – число имеет ровно 4 различных простых делителя; – значение F при делении на 19 даёт остаток 6; – запись числа F начинается с цифры 2; – среди простых делителей ровно два содержат цифру 2; – в двоичной записи числа F содержится ровно 5 нулей. Выведите первые 5 найденных чисел и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1200001, 5000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 4 and f % 19 == 6 and str(f).startswith('2') and sum('2' in str(i) for i in d) == 2 and bin(f)[2:].count('0') == 5:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:1230934 291 1247658 2267 1247934 2267 1253706 291 1259964 291
#25301 Делители
Обозначим через S сумму всех различных простых делителей натурального числа, не считая самого числа. Напишите программу, которая перебирает натуральные числа, большие 1200000, в порядке возрастания и ищет среди них такие, для которых одновременно выполнены условия: – число имеет ровно 4 различных простых делителя; – значение S при делении на 28 даёт остаток 4; – в записи числа S ровно две цифры, значение которых больше 5; – среди простых делителей ровно два содержат цифру 2; – ни один из простых делителей не содержит сочетание цифр «52». Выведите первые 5 найденных чисел и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
def cnt(n):
    return sum(int(c) > 5 for c in str(n))
k = 0
for x in range(1200001, 6000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 4 and s % 28 == 4 and cnt(s) == 2 and sum('2' in str(i) for i in d) == 2 and all('52' not in str(i) for i in d):
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:1217217 872 1252365 2916 1284297 2692 1304905 1656 1304913 368
#25302 Делители
Пусть M — сумма минимального и максимального простых делителей натурального числа, не считая самого числа. Среди натуральных чисел, больших 1400000, найдите первые 5 чисел, для которых: – число имеет ровно 4 различных простых делителя; – значение M при делении на 29 даёт остаток 14; – запись числа M начинается с цифры 4; – в записи числа M ровно одна цифра, значение которой больше 5; – среди простых делителей ровно два содержат цифру 7. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
def cnt(n):
    return sum(int(c) > 5 for c in str(n))
k = 0
for x in range(1400001, 6000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 4 and m % 29 == 14 and str(m).startswith('4') and cnt(m) == 1 and sum('7' in str(i) for i in d) == 2:
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:1416912 4219 1432641 4016 1433780 4219 1451254 4509 1475950 4219
#25303 Делители
Пусть F — целая часть среднего арифметического всех различных простых делителей натурального числа, не считая самого числа. Найдите первые 5 чисел, больших 1500000, для которых одновременно выполнены условия: – число имеет ровно 3 различных простых делителя; – значение F при делении на 31 даёт остаток 7; – запись числа F оканчивается на цифру 5; – запись числа F не содержит цифру 0; – среди простых делителей ровно один начинается с цифры 2. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1500001, 6000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 3 and f % 31 == 7 and str(f).endswith('5') and '0' not in str(f) and sum(str(i).startswith('2') for i in d) == 1:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:1500516 13895 1501536 5215 1509769 255 1518529 255 1518686 19475
#25304 Делители
Обозначим через S сумму всех различных простых делителей натурального числа, не считая самого числа. Среди натуральных чисел, больших 1600000, найдите первые 5 чисел, для которых одновременно выполнены условия: – число имеет ровно 3 различных простых делителя; – значение S при делении на 26 даёт остаток 3; – запись числа S начинается с цифры 1; – среди простых делителей ровно два содержат цифру 3; – в двоичной записи числа S содержится не менее 6 нулей. В ответе запишите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1600001, 7000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 3 and s % 26 == 3 and str(s).startswith('1') and sum('3' in str(i) for i in d) == 2 and bin(s)[2:].count('0') >= 6:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:1600251 17241 1603551 13081 1604485 1667 1605015 1329 1606413 11443
#25305 Делители
Пусть M — сумма минимального и максимального простых делителей натурального числа, не считая самого числа. Среди натуральных чисел, больших 1700000, найдите первые 5 чисел, для которых: – число имеет ровно 4 различных простых делителя; – значение M при делении на 21 даёт остаток 5; – запись числа M содержит сочетание цифр «52»; – запись числа M не начинается с цифры 1; – среди простых делителей ровно один оканчивается на цифру 1. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def p(n):
	r, t, d = [], n, 2
	while d * d <= t:
		if t % d == 0:
			r.append(d)
			while t % d == 0:
				t //= d
		d += 1
	if t > 1:
		r.append(t)
	if r == [n]:
		r = []
	return r
k = 0
for x in range(1700001, 10000000):
	pd = p(x)
	if len(pd) != 4:
		continue
	m = min(pd) + max(pd)
	h = [i for i in pd if str(i).endswith('1')]
	if m % 21 == 5 and '52' in str(m) and not str(m).startswith('1') and len(h) == 1:
		print(x, m)
		k += 1
		if k == 5:
			break
Ответ:1804695 5234 1865721 4352 1867467 5234 1937793 4520 2022285 4352
#25306 Делители
Обозначим через F целую часть среднего арифметического всех различных простых делителей натурального числа, не считая самого числа. Найдите первые 5 чисел, больших 1800000, для которых одновременно выполняются условия: – число имеет ровно 4 различных простых делителя; – значение F при делении на 25 даёт остаток 12; – запись числа F начинается с цифры 6; – в записи числа F ровно одна цифра, значение которой больше 5; – среди простых делителей ровно два оканчиваются на цифру 3. В ответе запишите найденные числа и соответствующие им значения F. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
def cnt(n):
    return sum(int(c) > 5 for c in str(n))
k = 0
for x in range(1800001, 8000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    f = sum(d) // len(d) if len(d) > 0 else 0
    if len(d) == 4 and f % 25 == 12 and str(f).startswith('6') and cnt(f) == 1 and sum(str(i).endswith('3') for i in d) == 2:
        print(x, f)
        k += 1
        if k == 5:
            break
Ответ:1815331 62 1829512 62 1829949 612 1830731 62 1834875 62
#25307 Делители
Обозначим через S сумму всех различных простых делителей натурального числа, не считая самого числа. Среди натуральных чисел, больших 1900000, найдите первые 5 чисел, для которых выполняются условия: – число имеет ровно 4 различных простых делителя; – значение S при делении на 34 даёт остаток 9; – запись числа S оканчивается на цифру 3; – запись числа S не содержит цифру 4; – среди простых делителей ровно два начинаются с цифры 1. В ответе запишите найденные числа и соответствующие им значения S. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
k = 0
for x in range(1900001, 8000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    s = sum(d) if len(d) > 0 else 0
    if len(d) == 4 and s % 34 == 9 and str(s).endswith('3') and '4' not in str(s) and sum(str(i).startswith('1') for i in d) == 2:
        print(x, s)
        k += 1
        if k == 5:
            break
Ответ:1902208 213 1908372 1573 1910630 11263 1913296 1573 1913444 1233
#25308 Делители
Пусть M — сумма минимального и максимального простых делителей натурального числа, не считая самого числа. Среди натуральных чисел, больших 2000000, найдите первые 5 чисел, для которых одновременно выполнены условия: – число имеет ровно 3 различных простых делителя; – значение M при делении на 18 даёт остаток 7; – запись числа M начинается с цифры 3; – в записи числа M ровно одна цифра, значение которой больше 5; – среди простых делителей есть хотя бы один, начинающийся с цифры 8. В ответе запишите найденные числа и соответствующие им значения M. Количество строк в таблице для ответа избыточно.
def div(x):
    d = set()
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            d.add(i)
            d.add(x // i)
    return sorted(d)
def cnt(n):
    return sum(int(c) > 5 for c in str(n))
k = 0
for x in range(2000001, 8000000):
    d = [i for i in div(x) if len(div(i)) == 0]
    m = d[0] + d[-1] if len(d) > 0 else 0
    if len(d) == 3 and m % 18 == 7 and str(m).startswith('3') and cnt(m) == 1 and any(str(i).startswith('8') for i in d):
        print(x, m)
        k += 1
        if k == 5:
            break
Ответ:2034496 385 2047112 3085 2082968 3139 2118824 3193 2181568 385
Напишите программу, которая перебирает целые числа, бо́льшие 700 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 7 и не равный ни самому числу, ни числу 7. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце - соответствующий минимальный делитель для каждого числа, оканчивающийся цифрой 7, не равный ни самому числу, ни числу 7. Количество строк в таблице для ответа избыточно.
def f(n):
	d = set()
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			d.add(i)
			d.add(n // i)
	return sorted(d)
k = 0
for n in range(700_001, 800_000):
	s = f(n)
	h = [d for d in s if d != 7 and d % 10 == 7]
	if h:
		print(n, min(h))
		k += 1
		if k == 5:
			break
Ответ:700002 27 700003 37 700005 6087 700007 77 700008 29167
Пусть S – сумма всех натуральных делителей целого числа, не считая единицы и самого числа. Пусть K – количество всех различных простых делителей целого числа, не считая самого числа. Напишите программу, которая перебирает целые числа, превышающие 4 555 705 и не оканчивающиеся на 3, в порядке возрастания и ищет среди них такие, которые можно представить в виде суммы чисел соответствующих им значений S, K и некоторого натурального числа, оканчивающегося на 23. В ответе запишите первые пять найденных чисел в порядке возрастания.
# Задача 25: Свойства чисел
def sum_proper_divisors(n):
    if n <= 1: return 0
    s = 1
    i = 2
    while i * i <= n:
        if n % i == 0:
            s += i
            if i != n // i: s += n // i
        i += 1
    return s
def count_prime_divisors(n):
    cnt = 0
    d = 2
    while d * d <= n:
        if n % d == 0:
            cnt += 1
            while n % d == 0: n //= d
        d += 1
    if n > 1: cnt += 1
    return cnt
results = []
n = 1
while len(results) < 6:
    if n % 10 != 3:  # условие из задачи
        S = sum_proper_divisors(n)
        K = count_prime_divisors(n)
        m = n - S - K
        if m > 0 and m % 100 == 23:  # условие из задачи
            results.append(n)
    n += 1
print(results[5])
# Ответ: 4556054 4556805 4558124 4558712 4559054 4559512
Ответ:4556054 4556805 4558124 4558712 4559054 4559512
Напишите программу, которая перебирает натуральные числа, большие 2 000 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на 37 и не равный ни самому числу, ни числу 37. В ответе запишите в первом столбце первые пять найденных чисел в порядке возрастания, а во втором столбце — для каждого числа один подходящий делитель.
Программа на Python:
def find_div_ending_37(n):
    i = 2
    while i * i <= n:
        if n % i == 0:
            for d in [i, n // i]:
                if d != 37 and d != n and d % 100 == 37:
                    return d
        i += 1
    return None
n = 2_000_001
results = []
while len(results) < 5:
    d = find_div_ending_37(n)
    if d: results.append((n, d))
    n += 1

Результат:
2000022 — делитель 333337
2000043 — делитель 237
2000055 — делитель 133337
2000061 — делитель 37737
2000063 — делитель 137
Ответ:2000022 333337 2000043 237 2000055 133337 2000061 37737 2000063 137
Напишите программу, которая перебирает натуральные числа, большие 1 500 000, в порядке возрастания и ищет среди них такие числа, у которых есть натуральный делитель, оканчивающийся на 73, не равный числу 73 и не равный самому числу. Выведите первые пять найденных чисел и для каждого — наименьший такой делитель.
В ответе запишите числа и их наименьшие подходящие делители через пробел (в формате: число₁ делитель₁ число₂ делитель₂ ... число₅ делитель₅).
results = []
n = 1500001
while len(results) < 5:
    for d in range(173, n, 100):  # делители 173, 273, 373, ...
        if n % d == 0 and d != n:
            results.append((n, d)); break
    n += 1
for num, div in results:
    print(num, div)
# 1500015 27273
# 1500031 6073
# 1500033 4673
# 1500039 6173
# 1500044 53573
Ответ:1500015 27273 1500031 6073 1500033 4673 1500039 6173 1500044 53573