Задание 25. Обработка целочисленной информации

Печать
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

ВАРИАНТ 1

Пусть М - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение М равным 0. 

Напишите программу, которая перебирает целые числа, большие 860000, в порядке возрастания и ищет среди них такие, для которых значение М оканчивается на 18. Вывести первые пять найденных чисел и соответствующие им значения М.

Формат вывода: для каждого из пяти найденных чисел в отдельной строке сначала выводится само число, затем значение М. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 20, М=10 - 2 = 8

Решение и ответ
k=0
x = 860001
while k < 5:
    M = 0
    for i in range (2, x//2):
        if x % i == 0:
            M = x // i - i
            break
    if M % 100 == 18:
        k += 1
        print (x, M)
    x += 1

Ответ

860040 430018
860163 286718
860219 27718
860240 430118
860440 430218

ВАРИАНТ 2

Пусть М - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение М равным 0. 

Напишите программу, которая перебирает целые числа, большие 860000, в порядке возрастания и ищет среди них такие, для которых значение М оканчивается на 30. Вывести первые пять найденных чисел и соответствующие им значения М.

Формат вывода: для каждого из пяти найденных чисел в отдельной строке сначала выводится само число, затем значение М. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 20, М=10 - 2 = 8

Решение и ответ
k=0
x = 860001

while k < 5:
    M = 0
    for i in range (2, x//2):
        if x % i == 0:
            M = x // i - i
            break
    if M % 100 == 30:
        k += 1
        print (x, M)
    x += 1

Ответ

860064 430030
860199 286730
860264 430130
860464 430230
860499 286830
ВАРИАНТ 3

Пусть М - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение М равным 0. 

Напишите программу, которая перебирает целые числа, меньшие 860000, в порядке убывания и ищет среди них такие, для которых значение М кратно 17 (ноль числу 17 не кратен). Вывести первые пять найденных чисел и соответствующие им значения М.

Формат вывода: для каждого из пяти найденных чисел в отдельной строке сначала выводится само число, затем значение М. Строки выводятся в порядке убывания найденных чисел.

Например, для числа 20, М=10 - 2 = 8

Решение и ответ
k=0
x = 799999

while k < 5:
    M = 0
    for i in range (2, x//2):
        if x % i == 0:
            M = x//i - i
            break
    if M % 17 == 0 and M != 0:
        k += 1
        print(x, M)
    x -= 1

Ответ

799995 266662
799990 399993
799967 114274
799956 399976
799922 399959
ВАРИАНТ 4

Пусть М - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение М равным 0. 

Напишите программу, которая перебирает целые числа, меньшие 860000, в порядке убывания и ищет среди них такие, для которых значение М кратно 23 (ноль числу 23 не кратен). Вывести первые пять найденных чисел и соответствующие им значения М.

Формат вывода: для каждого из пяти найденных чисел в отдельной строке сначала выводится само число, затем значение М. Строки выводятся в порядке убывания найденных чисел.

Например, для числа 20, М=10 - 2 = 8

Решение и ответ
k=0
x = 799999

while k <5:
    M = 0
    for i in range (2, x//2):
        if x % i == 0:
            M = x // i - i
            break
    if M % 23 == 0 and M != 0:
        k += 1
        print(x, M)
    x -= 1

Ответ

799995 266662
799990 399993
799987 16974
799944 399970
799907 27554
ВАРИАНТ 5

Пусть F - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение F равным 0. 

Напишите программу, которая перебирает целые числа, большие 850000, в порядке возрастания и ищет среди них такие, для которых значение F не равно 0 и делится нацело на 7. Программа должна вывести первые шесть таких чисел и соответствующие им значения F.

Формат вывода: для каждого из 6 найденных чисел в отдельной строке сначала выводится само число, затем значение F. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105, F=35 - 3  = 32

Решение и ответ
k=0
x = 850001

while k < 6:
    F = 0
    for i in range (2, x//2):
        if x % i == 0:
            F = x // i - i
            break
    if F % 7 == 0 and F != 0:
        k += 1
        print(x, F)
    x += 1

Ответ:
850003 121422
850005 283332
850014 425005
850028 425012
850042 425019
850047 283346

ВАРИАНТ 6

Пусть F - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение F равным 0. 

Напишите программу, которая перебирает целые числа, большие 850000, в порядке возрастания и ищет среди них такие, для которых значение F не равно 0 и делится нацело на 5. Программа должна вывести первые шесть таких чисел и соответствующие им значения F.

Формат вывода: для каждого из 6 найденных чисел в отдельной строке сначала выводится само число, затем значение F. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105, F=35 - 3  = 32

Решение и ответ
k=0
x = 850001

while k < 6:
    F = 0
    for i in range (2, x//2):
        if x % i == 0:
            F = x // i - i
            break
    if F % 5 == 0 and F != 0:
        k += 1
        print(x, F)
    x += 1

Ответ

850004 425000
850014 425005
850024 425010
850025 170000
850029 283340
850034 425015
ВАРИАНТ 7

Пусть F - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение F равным 0. 

Напишите программу, которая перебирает целые числа, большие 850000, в порядке возрастания и ищет среди них такие, для которых значение F не равно 0 и делится нацело на 3. Программа должна вывести первые шесть таких чисел и соответствующие им значения F.

Формат вывода: для каждого из 6 найденных чисел в отдельной строке сначала выводится само число, затем значение F. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105, F=35 - 3  = 32

Решение и ответ
k=0
x = 850001

while k < 6:
    F = 0
    for i in range (2, x//2):
        if x % i == 0:
            F = x // i - i
            break
    if F % 3 == 0 and F != 0:
        k += 1
        print(x, F)
    x += 1

Ответ

850003 121422
850005 283332
850006 425001
850012 425004
850015 169998
850018 425007
ВАРИАНТ 8

Пусть F - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение F равным 0. 

Напишите программу, которая перебирает целые числа, большие 850000, в порядке возрастания и ищет среди них такие, для которых значение F не равно 0 и делится нацело на 11. Программа должна вывести первые шесть таких чисел и соответствующие им значения F.

Формат вывода: для каждого из 6 найденных чисел в отдельной строке сначала выводится само число, затем значение F. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105, F=35 - 3  = 32

Решение и ответ
k=0
x = 850001

while k < 6:
    F = 0
    for i in range (2, x//2):
        if x % i == 0:
            F = x // i - i
            break
    if F % 11 == 0 and F != 0:
        k += 1
        print(x, F)
    x += 1

Ответ

850018 425007
850019 29282
850023 283338
850040 425018
850062 425029
850084 425040
ВАРИАНТ 9

Пусть F - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение F равным 0. 

Напишите программу, которая перебирает целые числа, большие 850000, в порядке возрастания и ищет среди них такие, для которых значение F не равно 0 и делится нацело на 13. Программа должна вывести первые шесть таких чисел и соответствующие им значения F.

Формат вывода: для каждого из 6 найденных чисел в отдельной строке сначала выводится само число, затем значение F. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105, F=35 - 3  = 32

Решение и ответ
k=0
x = 850001

while k < 6:
    F = 0
    for i in range (2, x//2):
        if x % i == 0:
            F = x//i - i
            break
    if F % 13 == 0 and F != 0:
        k += 1
        print(x, F)
    x += 1

Ответ

850022 425009
850048 425022
850053 283348
850074 425035
850099 7410
850100 425048
ВАРИАНТ 10

Напишите программу, которая перебирает целые числа, большие 550000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный делитель, не равный самому числу, не является простым числом. Программа должна найти и вывести первые шесть таких чисел и соответствующие им значения упомянутых делителей.

Формат вывода: для каждого из 6 таких найденных чисел в отдельной строке сначала выводится само число, затем упомянутый делитель. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105,наибольший натуральный делитель 35 не является простым, для числа 15 наибольший натуральный делитель 5 - простое число, а для числа 13 такого делителя не существует.

Решение и ответ
k=0
x = 550001

while k < 6:
    for i in range (2, x//2):
        if x % i == 0:
            D = x//i
            break
    for i in range (2, D//2):
        if D % i == 0:
            k += 1
            print (x, D)
            break
    x += 1

Ответ

550002 275001
550004 275002
550005 183335
550008 275004
550009 275004
550010 275005
ВАРИАНТ 11

Напишите программу, которая перебирает целые числа, большие 450000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный делитель, не равный самому числу, не является простым числом. Программа должна найти и вывести первые шесть таких чисел и соответствующие им значения упомянутых делителей.

Формат вывода: для каждого из 6 таких найденных чисел в отдельной строке сначала выводится само число, затем упомянутый делитель. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105,наибольший натуральный делитель 35 не является простым, для числа 15 наибольший натуральный делитель 5 - простое число, а для числа 13 такого делителя не существует.

Решение и ответ
k=0
x = 450001

while k < 6:
    for i in range (2, x//2):
        if x % i == 0:
            D = x//i
            break
    for i in range (2, D//2):
        if D % i == 0:
            k += 1
            print (x, D)
            break
    x += 1

Ответ

450002 225001
450004 225002
450006 225003
450007 26471
450008 225004
450009 150003
ВАРИАНТ 12

Напишите программу, которая перебирает целые числа, большие 350000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный делитель, не равный самому числу, не является простым числом. Программа должна найти и вывести первые шесть таких чисел и соответствующие им значения упомянутых делителей.

Формат вывода: для каждого из 6 таких найденных чисел в отдельной строке сначала выводится само число, затем упомянутый делитель. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105,наибольший натуральный делитель 35 не является простым, для числа 15 наибольший натуральный делитель 5 - простое число, а для числа 13 такого делителя не существует.

Решение и ответ
k=0
x = 350001

while k < 6:
    for i in range (2, x//2):
        if x % i == 0:
            D = x//i
            break
    for i in range (2, D//2):
        if D % i == 0:
            k += 1
            print (x, D)
            break
    x += 1

Ответ

350001 116667
350002 175001
350003 175001
350004 175002
350007 116669
350008 175004
ВАРИАНТ 13

Напишите программу, которая перебирает целые числа, большие 650000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный делитель, не равный самому числу, не является простым числом. Программа должна найти и вывести первые шесть таких чисел и соответствующие им значения упомянутых делителей.

Формат вывода: для каждого из 6 таких найденных чисел в отдельной строке сначала выводится само число, затем упомянутый делитель. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105,наибольший натуральный делитель 35 не является простым, для числа 15 наибольший натуральный делитель 5 - простое число, а для числа 13 такого делителя не существует.

Решение и ответ
k=0
x = 650001

while k < 6:
    for i in range (2, x//2):
        if x%i == 0:
            D = x//i
            break
    for i in range (2, D//2):
        if D%i == 0:
            k += 1
            print (x, D)
            break
    x += 1

Ответ

650001 216667
650003 28261
650004 325002
650005 130001
650006 325003
650007 216669
ВАРИАНТ 14

Напишите программу, которая перебирает целые числа, большие 750000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный делитель, не равный самому числу, не является простым числом. Программа должна найти и вывести первые шесть таких чисел и соответствующие им значения упомянутых делителей.

Формат вывода: для каждого из 6 таких найденных чисел в отдельной строке сначала выводится само число, затем упомянутый делитель. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 105,наибольший натуральный делитель 35 не является простым, для числа 15 наибольший натуральный делитель 5 - простое число, а для числа 13 такого делителя не существует.

Решение и ответ
k=0
x = 750001

while k < 6:
    for i in range (2, x//2):
        if x%i == 0:
            D = x//i
            break
    for i in range (2, D//2):
        if D%i == 0:
            k += 1
            print (x, D)
            break
    x += 1

Ответ

750001 107143
750002 375001
750003 250001
750004 375002
750006 375003
750008 375004

ВАРИАНТ 15

Пусть S - сумма различных натуральных делителей целого числа, являющихся простыми числами, не считая самого числа. 

Напишите программу, которая перебирает целые числа, большие 550000, в порядке возрастания и ищет среди них такие, для которых значение S оканчивается на цифру 1. Программа должна найти и вывести первые пять таких чисел и соответствующие им значения S.

Формат вывода: для каждого из 5 таких найденных чисел в отдельной строке сначала выводится само число, затем значение S. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 20, S = 2 + 5 = 7

Решение и ответ
def pr(n):
    if n == 2 or n == 3:
        return True
    if n < 2 or n % 2 == 0:
        return False
    for i in range(3, n//2):
        if n % i == 0:
            return False
    return True

k = 0
x = 550001
while k < 5:
    S = 0
    for i in range (2, x//2):
        if x % i==0 and pr(i):
            S +=i
    if S % 10 == 1:
        print (x, S)
        k += 1   
    x += 1

Ответ

550023 1461
550025 461
550030 4251
550043 1501
550045 4811

 

ВАРИАНТ 16

Пусть S - сумма различных натуральных делителей целого числа, являющихся простыми числами, не считая самого числа. 

Напишите программу, которая перебирает целые числа, большие 550000, в порядке возрастания и ищет среди них такие, для которых значение S оканчивается на цифру 7. Программа должна найти и вывести первые пять таких чисел и соответствующие им значения S.

Формат вывода: для каждого из 5 таких найденных чисел в отдельной строке сначала выводится само число, затем значение S. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 20, S = 2 + 5 = 7

Решение и ответ
def pr(n):

    if n == 2 or n == 3:
        return True
    if n < 2 or n % 2 == 0:
        return False
    for i in range(3, n//2):
        if n % i == 0:
            return False
    return True

k = 0
x = 550001
while k < 5:
    S = 0
    for i in range (2, x//2):
        if x % i==0 and pr(i):
            S += i
    if S % 10 == 7:
        print (x, S)
        k += 1   
    x += 1

Ответ

550018 2337
550059 1197
550087 257
550099 1217
550137 117

 

ВАРИАНТ 17

Пусть S - сумма различных натуральных делителей целого числа, являющихся простыми числами, не считая самого числа. 

Напишите программу, которая перебирает целые числа, большие 650000, в порядке возрастания и ищет среди них такие, для которых значение S оканчивается на цифру 3. Программа должна найти и вывести первые пять таких чисел и соответствующие им значения S.

Формат вывода: для каждого из 5 таких найденных чисел в отдельной строке сначала выводится само число, затем значение S. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 20, S = 2 + 5 = 7

Решение и ответ
def pr(n):

    if n == 2 or n == 3:
        return True
    if n < 2 or n % 2 == 0:
        return False
    for i in range(3, n//2):
        if n % i == 0:
            return False
    return True

k = 0
x = 650001
while k < 5:
    S = 0
    for i in range (2, x//2):
        if x % i==0 and pr(i):
            S += i
    if S % 10 == 3:
        print (x, S)
        k += 1   
    x += 1

Ответ

 650016 103
 650022 963
 650067 19713
 650073 983
 650080 263

 

ВАРИАНТ 19

Пусть S - сумма различных натуральных делителей целого числа, являющихся простыми числами, не считая самого числа. 

Напишите программу, которая перебирает целые числа, большие 650000, в порядке возрастания и ищет среди них такие, для которых значение S оканчивается на цифру 5. Программа должна найти и вывести первые пять таких чисел и соответствующие им значения S.

Формат вывода: для каждого из 5 таких найденных чисел в отдельной строке сначала выводится само число, затем значение S. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 20, S = 2 + 5 = 7

 
Решение и ответ
def pr(n):

    if n == 2 or n == 3:
        return True
    if n < 2 or n % 2 == 0:
        return False
    for i in range(3, n//2):
        if n % i == 0:
            return False
    return True

k = 0
x = 650001
while k <5:
    S = 0
    for i in range (2, x//2):
        if x % i==0 and pr(i):
            S += i
    if S % 10 == 5:
        print (x, S)
        k += 1   
    x += 1

Ответ

650025 115
650026 1125
650028 2875
650031 5085
650046 6395

 

ВАРИАНТ 20

Пусть S - сумма различных натуральных делителей целого числа, являющихся простыми числами, не считая самого числа. 

Напишите программу, которая перебирает целые числа, большие 550000, в порядке возрастания и ищет среди них такие, для которых значение S не равно нулю и делится нацело на 11. Программа должна найти и вывести первые пять таких чисел и соответствующие им значения S.

Формат вывода: для каждого из 5 таких найденных чисел в отдельной строке сначала выводится само число, затем значение S. Строки выводятся в порядке возрастания найденных чисел.

Например, для числа 20, S = 2 + 5 = 7

 
Решение и ответ
def pr(n):

    if n == 2 or n == 3:
        return True
    if n < 2 or n % 2 == 0:
        return False
    for i in range(3, n//2):
        if n % i == 0:
            return False
    return True

k=0
x = 550001
while k <5:
    S = 0
    for i in range (2, x//2):
        if x % i == 0 and pr(i):
            S +=i
    if S % 11 == 0 and S!=0:
        print (x, S)
        k += 1   
    x += 1

Ответ

650003 561
650006 1639
650007 72226
650024 616
650030 65010