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

25.04 Прочие прототипы

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка целочисленной информации
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#6302

Рассматриваются множество целых чисел, принадлежащих числовому отрезку (9012; 23800]  , которые делятся на 9 и не делятся на 2, 6, 12, 81.

Найдите количество таких чисел и максимальное из них.

Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение

Программа перебирает все числа от 9013 до 23800 (обратите внимание на ограничения) и проверяет их на кратность. Одновременно она находит максимальное число, создавая переменную maxim и присваивая ей минимальное значение 0. Если программу удовлетворяют условия, то переменной maxim присваивается новое значение, большее её самой, а также обновляется счетчик интересуемых её чисел.

|------------------------------|-------------------------------------|---------------------------------|
|P-ython-----------------------|C--+-+-------------------------------|P-ascal--------------------------|
|count = 0                     |#include  < iostream  >              |vari,maxim,  count : integer;    |
|maxim   = 0                   |usingnamespacestd;                   |begin                            |
|                              |                                     |                                 |
|foriinrange (9013,23801 ) :   |                                     |  maxim   :=  0;                  |
|  if(i%9  ==  0) :            |intmain (){                          |  count := 0;                    |
|    if(i%2! =  0) :           |   inti,maxim,  count;                |  fori := 9013to23800do          |
|       if (i%6!  = 0) :         |   count = 0;                        |  begin                          |
|         if(i%12! = 0) :      |   maxim  =  0;                      |  ifimod9  = 0then               |
|                              |                                     |                                 |
|           if(i%81! =  0) :   |   for(i = 9013);i < 238001; i + + ){|    ifimod2  < > 0then           |
|             if(i > maxim  ) :|     if(i%9 ==  0){                  |      if imod6  < > 0then         |
|                maxim  =  i   |       if(x%2!  = 0){                |         if imod12  <>  0then     |
|                count+ =  1   |         if(x%6!  = 0){              |           ifimod81  < > 0 then  |
|                              |                                     |                                 |
|print(count,maxim  )          |            if (x%12!  = 0 ){           |             ifi > mthen         |
|                              |              if(x%81! =  0){        |             maxim   := i;       |
|                              |                if(i > maxim  ){     |             count := count +  1;|
|                              |                  maxim   = i;       |writeln(count; maxim  )          |
|                              |                  count+  = 1;       |                                 |
|                              |                                     |                                 |
|                              |cout < < count <  maxim;             |                                 |
--------------------------------}-----------------------------------------------------------------------
Ответ: 730 23787

Ошибка.
Попробуйте повторить позже

Задача 2#7448

Рассматриваются множество целых чисел, принадлежащих числовому отрезку [2077; 8276]  , которые делятся на 6 и не делятся на 4, 9, 20, 36.

Найдите количество таких чисел и максимальное из них.

Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
count = 0
maxim = 0
# если число не делится на 4,
# то оно точно не делится ни на 36, ни на 20
for i in range(2077, 8277):
    if i % 6 == 0 and i % 9 != 0 and i % 4 != 0:
        count += 1
        maxim = i
print(count, maxim)

Ответ: 345 8274

Ошибка.
Попробуйте повторить позже

Задача 3#7449

Рассматриваются множество целых чисел, принадлежащих числовому отрезку [1578; 6237]  , которые делятся на 4 и не делятся на 3, 16, 12, 8.

Найдите количество таких чисел и максимальное из них.

Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
count = 0
maxim = 0
# если число не делится на 8, то точно не делится на 16
for i in range(1578, 6238):
    if i % 4 == 0 and i % 3 != 0 and i % 12 != 0 and i % 8 != 0:
        count += 1
        maxim = i
print(count, maxim)

Ответ: 389 6236

Ошибка.
Попробуйте повторить позже

Задача 4#7450

Рассматриваются множество целых чисел, принадлежащих числовому отрезку [10923; 16782)  , которые делятся на 2 и не делятся на 3, 8, 49, 100.

Найдите количество таких чисел и максимальное из них.

Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение

Программа перебирает все числа от 10923 до 16781 (обратите внимание на ограничения) и проверяет их на кратность. Одновременно она находит максимальное число, создавая переменную maxim и присваивая ей минимальное значение 0. Если программу удовлетворяют условия, то переменной maxim присваивается новое значение, большее её самой, а также обновляется счетчик интересуемых её чисел.

|------------------------------|-------------------------------------|---------------------------------|
|P-ython-----------------------|C--+-+-------------------------------|P-ascal--------------------------|
|count = 0                     |#include  < iostream  >              |vari,maxim,  count : integer;    |
|maxim   = 0                   |usingnamespacestd;                   |begin                            |
|                              |                                     |                                 |
|foriinrange (10923,16782 ) :  |                                     |  maxim   :=  0;                  |
|  if(i%2  ==  0) :            |intmain (){                          |  count := 0;                    |
|    if(i%3! =  0) :           |   inti,maxim,  count;                |  fori := 10923to16781do         |
|       if (i%8!  = 0) :         |   count = 0;                        |  begin                          |
|         if(i%49! = 0) :      |   maxim  =  0;                      |  ifimod2  = 0then               |
|                              |                                     |                                 |
|           if(i%100! =  0) :  |   for(i = 10923);i < 16782; i + + ){|    ifimod3  < > 0then           |
|             if(i > maxim  ) :|     if(i%2 ==  0){                  |      if imod8  < > 0then         |
|                maxim  =  i   |       if(x%3!  = 0){                |         if imod8  <>  0then      |
|                count+ =  1   |         if(x%8!  = 0){              |           ifimod49  < > 0then   |
|                              |                                     |                                 |
|print(count,maxim  )          |            if (x%49!  = 0 ){           |             ifi > maximthen     |
|                              |              if(x%16! =  0){        |             maxim   := i;       |
|                              |                if(i > maxim  ){     |             count := count +  1;|
|                              |                  maxim   = i;       |writeln(count; maxim  )          |
|                              |                  count+  = 1;       |                                 |
|                              |                                     |                                 |
|                              |cout < < count <  maxim;             |                                 |
--------------------------------}-----------------------------------------------------------------------
Ответ: 1416 16780

Ошибка.
Попробуйте повторить позже

Задача 5#7451

Рассматриваются множество целых чисел, принадлежащих числовому отрезку (1579; 4240)  , которые делятся на 5  и не делятся на 4  , 10  , 15  , 100  .

Найдите количество таких чисел и максимальное из них.

Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
count = 0
maxim = 0
# в задаче задан промежуток, а не отрезок
for i in range(1580, 4240):
    if i % 5 == 0 and i % 4 != 0 and i % 10 != 0:
        if i % 15 != 0:
            count += 1
            maxim = i
print(count, maxim)

Ответ: 178 4235

Ошибка.
Попробуйте повторить позже

Задача 6#7452

Рассматривается множество целых чисел, принадлежащих числовому промежутку [1072;  8793],  которые делятся на 101  но не делятся на 11,13,17  и 57
Найдите количество таких чисел и среднее арифметическое минимального и максимальное из этих чисел
В ответ запишите два этих целых числа: сначала количество, затем среденее арифметическое, если среднее арифметическое — не целое число, то результат округлите в меньшую сторону.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
count = 0
maxim = 0
minim = 100000000
for i in range(1072, 8794):
    if i % 101 == 0 and i % 11 != 0 and i % 13 != 0:
        if i % 17 != 0 and i % 57 != 0:
            count += 1
            maxim = max(maxim, i)
            minim = min(minim, i)
print(count, int((minim + maxim) / 2))

Ответ: 59 4999

Ошибка.
Попробуйте повторить позже

Задача 7#7453

Рассматривается множество целых чисел, принадлежащих числовому промежутку [2765;  9525],  которые делятся на 205  но не делятся на 10,16  и 82
Найдите максимальное и предмаксимальное из этих чисел.
Примечание: предмаксимумом называется максимальное число, меньшее максимума.
В ответ запишите два этих целых числа: сначала предмаксимум, затем максимум.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
maxim = 0
predmaxim = 0
for i in range(2765, 9526):
    if i % 205 == 0 and i % 10 != 0:
        if i % 16 != 0 and i % 82 != 0:
            predmaxim = maxim
            maxim = i
print(predmaxim, maxim)

Ответ: 8815 9225

Ошибка.
Попробуйте повторить позже

Задача 8#7454

Рассматривается множество целых чисел, принадлежащих числовому промежутку [1568;  9956],  которые являются квадратом натурального числа и при этом не делятся на 9  и 25
Найдите количество таких чисел и максимальное из них.
В ответ запишите два этих целых числа: сначала количество, затем максимум.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
maxim = 0
count = 0
# извлекать корень не так эффективно, как возваодить в степень
# проверим квадраты чисел на принадлежность отрезку
for i in range(1, 1000):
    n = i * i
    if 1568 <= n <= 9956 and n % 25 != 0 and n % 9 != 0:
        count += 1
        maxim = n
print(count, maxim)

Ответ: 32 9604

Ошибка.
Попробуйте повторить позже

Задача 9#7455

Рассматривается множество целых чисел, принадлежащих числовому промежутку [3578;  8009],  которые делятся на 17,  не делятся на 93  и десятичная запись которых оканчивается 11  (т.е. рассматриваются такие числа из промежутка, для которых выполняются все три условия)
Найдите количество таких чисел и минимальное из них.
В ответ запишите два этих целых числа: сначала количество, затем минимальное число.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
count = 0
minim = 100000000000
for i in range(8009, 3578-1, -1):
    if i % 17 == 0 and i % 93 != 0 and i % 100 == 11:
        count += 1
        minim = i
print(count, minim)

Ответ: 2 4811

Ошибка.
Попробуйте повторить позже

Задача 10#7456

Рассматривается множество целых чисел, принадлежащих числовому промежутку [3578;  8009]
Найдите количество простых чисел на заданном промежутке и максимальное из них, которое оканчивается на 7.
В ответ запишите два этих целых числа: сначала количество, затем максимальное простое число, заканчивающееся на 7.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
def is_prime(n):
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return n != 1

maxim = 0
count = 0
for i in range(3578, 8009 + 1):
    if is_prime(i):
        count += 1
        if i % 10 == 7:
            maxim = i
print(count, maxim)

Ответ: 508 7937

Ошибка.
Попробуйте повторить позже

Задача 11#7457

Рассматривается множество целых чисел, принадлежащих числовому промежутку [73; 5578 ]
Найдите количество делителей числа 157080 на заданном промежутке и максимальный из них, заканчивающийся на такую же цифру, что и число 157080.
В ответ запишите два этих целых числа: сначала количество, затем максимальный делитель.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
maxim = 0
count = 0
for i in range(73, 5578 + 1):
    if 157080 % i == 0:
        count += 1
        if i % 10 == 0:
            maxim = i
print(count, maxim)

Ответ: 76 4760

Ошибка.
Попробуйте повторить позже

Задача 12#7652

Рассматриваются множество целых чисел, принадлежащих числовому отрезку [10923; 16782)  , которые делятся на 2 и не делятся на 3, 8, 49, 100.

Найдите количество таких чисел и максимальное из них.

Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Показать ответ и решение
maxim = 0
count = 0
# числа должны быть кратны 2,
# поэтому можно идти только по четным,
# начиная с первого из них 10924
for i in range(10924, 16782, 2):
    if i % 3 != 0 and i % 8 != 0:
        if i % 49 != 0 and i % 100 != 0:
            count += 1
            maxim = i
print(count, maxim)

Ответ: 1416 16780

Ошибка.
Попробуйте повторить позже

Задача 13#13934

Рассматривается множество целых чисел, принадлежащих числовому отрезку

[1234;5678]  , которые делятся нацело на 3  .

Найдите кол-во таких чисел и максимальное из них.

В ответ запишите два числа без каких либо разделяющих знаков, сначала количество чисел, потом максимальное число.

Показать ответ и решение
    k, maxim = 0, 0  
    for i in range(1234, 5679):  
        if i % 3 == 0:  
            k += 1  
            maxim = i  
    print(k, maxim, sep="")

Ответ: 14815676

Ошибка.
Попробуйте повторить позже

Задача 14#13935

Рассматривается множество целых чисел, принадлежащих числовому отрезку

[5221;19651]  , которые делятся нацело на 6  , но не делятся на 5  и на 9  .

Найдите кол-во таких чисел и минимальное из них.

В ответ запишите два числа без каких либо разделяющих знаков, сначала количество чисел, потом минимальное число.

Показать ответ и решение
    k,minim = 0,10000000  
    for i in range(5221,19652):  
        if i%6 == 0 and i%5 != 0 and i%9 != 0:  
            k += 1  
            if i < minim:  
                minim = i  
    print(k,minim,sep="")

Ответ: 12835226

Ошибка.
Попробуйте повторить позже

Задача 15#13936

Рассматривается множество целых чисел, принадлежащих числовому отрезку

[20321;34621]  , которые делятся нацело на 13  , а также при делении на 4  дают остаток 2  .

Найдите кол-во таких чисел и минимальное из них.

В ответ запишите два числа без каких либо разделяющих знаков, сначала количество чисел, потом минимальное число.

Показать ответ и решение
    k,minim = 0,10000000  
    for i in range(20321,34622):  
        if i%13 == 0 and i%4 == 2:  
            k += 1  
            if i < minim:  
                minim = i  
    print(k,minim,sep="")

Ответ: 27520358

Ошибка.
Попробуйте повторить позже

Задача 16#16431

Санта Клаус хочет полететь на оленях и раздать подарки. У него на базе живут олени с порядковыми номерами. Каждому оленю принадлежит порядковый номер из промежутка [1;999999]  . Санта хочет взять с собой только тех оленей, порядковый номер которых делится на 3  , но не делится на 4  , 7  и 11  . Найдите кол-во оленей, которые полетят с сантой раздавать подарки.

Показать ответ и решение
k = 0
for i in range(1,1000000):
    if i%3 == 0 and i%4 != 0 and i%7 != 0 and i%11 != 0:
        k += 1
print(k)

Ответ: 194804

Ошибка.
Попробуйте повторить позже

Задача 17#16433

Также Санте Клаусу необходимо взять с собой Эльфов, которые будут помогать ему раздавать подарки. У каждого Эльфа есть свой порядковый номер, который принадлежит промежутку [123456;654321]  . Однако Санте не нужно брать всех Эльфов, а только тех, у кого порядковый номер делится на 7  и заканчивается на цифру 3  . В ответ запишите количество Эльфов, которые поедут с Сантой Клаусом раздавать подарки.

Показать ответ и решение
    k = 0  
    for i in range(123456,654322):  
        if i%10 == 3 and i%7 == 0:  
            k += 1  
    print(k)

Ответ: 7584

Ошибка.
Попробуйте повторить позже

Задача 18#17789

На вход программе подается последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0  до 100  000  включительно. Определите и запишите в ответе количество пар элементов, в которых оба числа кратны 3  . В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Например для последовательности из шести элементов:

11  ; 33  ; 51  ; 151  ; 121  ; 99  ; Ответ: 1

В качестве ответа запишите результат выполнения программы для чисел 2343  , 462  , 345  , 346  , 123  , 824  ,  3457  , 8456  , 124  , 548  .

Показать ответ и решение
array = [2343, 462, 345, 346, 123, 824, 3457, 8456, 124, 548]
answer = 0
for i in range(len(array) - 1):
    if array[i] % 3 == 0 and array[i + 1] % 3 == 0:
        answer += 1
print(answer)

Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 19#22218

Найдите все натуральные числа, N, принадлежащие отрезку [300 000 000; 500 000 000], которые можно представить в виде N  = 3m ∗ 7n  , где m − нечётное число, n − чётное число. В ответе запишите все найденные числа в порядке возрастания, а справа от каждого числа − сумму m+n. Числа написать в ответ через один пробел.

Показать ответ и решение
ans = [] # список, в котором будут находиться подходящие числа
for i in range(1, 101, 2): # перебор нечётных степеней для 3
    for j in range(0, 100, 2): # перебор чётных степеней для 7
        N = 3**i*7**j
        if 300000000 <= N <= 500000000: # если число входит в исследуемую область
            ans.append([N, i+j])
ans = sorted(ans)
for i in range(len(ans)):
    print(*ans[i])

Ответ: 425329947 15

Ошибка.
Попробуйте повторить позже

Задача 20#22219

Найдите все натуральные числа, N, принадлежащие отрезку [250 000 000; 700 000 000], которые можно представить в виде N  = 2m ∗ 5n  , где m − чётное число, n − чётное число. В ответе запишите все найденные числа в порядке убывания, а справа от каждого числа − сумму всех его нетривиальных делителей. В ответ числа разделять ровно одним пробелом.

Показать ответ и решение
def count_del(x): # функция, которая считает сумму нетривиальных делителей
    ans = []
    for i in range(2, int(x**0.5)+1):
        if x % i == 0:
            ans += [i]
            if i != x // i:
                ans += [x//i]
    return sum(ans)
ans = []
for i in range(0, 100, 2): # перебор чётных степеней
    for j in range(0, 100, 2): # перебор чётных степеней
        N = 2**i*5**j
        if 250000000 <= N <= 700000000: # если число входит в отрезок
            ans.append([N, count_del(N)])
ans = sorted(ans, reverse = True)
for i in range(len(ans)):
    print(*ans[i])

Ответ: 655360000 982514930 625000000 925292936 419430400 620756960 400000000 599511206 268435456 268435454 256000000 383972276
Рулетка
Вы можете получить скидку в рулетке!