17. Программа для обработки целочисленной информации

17. Программа для обработки целочисленной информации

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

Это старая версия каталога задач

Нажмите для перехода на новую версию

Решаем задачи
Задание 1 #15161

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

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

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

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

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

\[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline count=0 & \#include\; <iostream> & var\; i,maxim,count:integer; \\ m=0 & using\; namespace\; std; & begin \\ for\; i\; in\; range(2077,8277): & & \quad maxim:=0; \\ \quad if\; (i\%6==0): & int\; main()\{ & \quad count:=0; \\ \quad\quad if(i\%4!=0): & \quad int\; i,maxim,count; & \quad for\; i:=2077\; to\; 8276\; do \\ \quad\quad\quad if(i\%9!=0): & \quad count=0; & \quad begin \\ \quad\quad\quad\quad if(i\%20!=0): & \quad maxim=0; & \quad if\; i\; mod\; 6\; =\; 0\; then \\ \quad\quad\quad\quad\quad if(i\%36!=0): & \quad for(i=2077);i<8277;i++)\{ & \quad\quad if\; i\; mod\; 4\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad if(i>m): & \quad\quad if(i\%6==0)\{ & \quad\quad\quad if\; i\; mod\; 9\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad m=i & \quad\quad\quad if(x\%4!=0)\{ & \quad\quad\quad\quad if\; i\; mod\; 20\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad count+=1 & \quad\quad\quad\quad if(x\%9!=0)\{ & \quad\quad\quad\quad\quad if\; i\; mod\; 36\; <>\; 0\; then \\ print(count,m) & \quad\quad\quad\quad\quad if(x\%20!=0)\{ & \quad\quad\quad\quad\quad\quad if\; i\; >\; maxim\; then \\ & \quad\quad\quad\quad\quad\quad if(x\%36!=0)\{ & \quad\quad\quad\quad\quad\quad maxim\; :=\; i; \\ & \quad\quad\quad\quad\quad\quad\quad if(i>maxim)\{ & \quad\quad\quad\quad\quad\quad count\; :=\; count\; +\; 1; \\ & \quad\quad\quad\quad\quad\quad\quad\quad maxim=i; & writeln(count;maxim) \\ & \quad\quad\quad\quad\quad\quad\quad\quad count+=1; & \\ & cout<<count<maxim; & \\ & \} & \\ \hline \end{array}\]

Ответ: 345 8274
Задание 2 #15162

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

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

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

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

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

\[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline count=0 & \#include\; <iostream> & var\; i,maxim,count:integer; \\ m=0 & using\; namespace\; std; & begin \\ for\; i\; in\; range(1578,6238): & & \quad maxim:=0; \\ \quad if\; (i\%4==0): & int\; main()\{ & \quad count:=0; \\ \quad\quad if(i\%3!=0): & \quad int\; i,maxim,count; & \quad for\; i:=1578\; to\; 6237\; do \\ \quad\quad\quad if(i\%8!=0): & \quad count=0; & \quad begin \\ \quad\quad\quad\quad if(i\%12!=0): & \quad maxim=0; & \quad if\; i\; mod\; 4\; =\; 0\; then \\ \quad\quad\quad\quad\quad if(i\%16!=0): & \quad for(i=1578);i<6238;i++)\{ & \quad\quad if\; i\; mod\; 3\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad if(i>maxim): & \quad\quad if(i\%4==0)\{ & \quad\quad\quad if\; i\; mod\; 8\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad maxim=i & \quad\quad\quad if(x\%3!=0)\{ & \quad\quad\quad\quad if\; i\; mod\; 12\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad count+=1 & \quad\quad\quad\quad if(x\%8!=0)\{ & \quad\quad\quad\quad\quad if\; i\; mod\; 16\; <>\; 0\; then \\ print(count,maxim) & \quad\quad\quad\quad\quad if(x\%12!=0)\{ & \quad\quad\quad\quad\quad\quad if\; i\; >\; maxim\; then \\ & \quad\quad\quad\quad\quad\quad if(x\%16!=0)\{ & \quad\quad\quad\quad\quad\quad maxim\; :=\; i; \\ & \quad\quad\quad\quad\quad\quad\quad if(i>maxim)\{ & \quad\quad\quad\quad\quad\quad count\; :=\; count\; +\; 1; \\ & \quad\quad\quad\quad\quad\quad\quad\quad maxim=i; & writeln(count;maxim) \\ & \quad\quad\quad\quad\quad\quad\quad\quad count+=1; & \\ & cout<<count<maxim; & \\ & \} & \\ \hline \end{array}\]

Ответ: 389 6236
Задание 3 #15165

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

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

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

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

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

\[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline count=0 & \#include\; <iostream> & var\; i,maxim,count:integer; \\ maxim=0 & using\; namespace\; std; & begin \\ for\; i\; in\; range(9013,23801): & & \quad maxim:=0; \\ \quad if\; (i\%9==0): & int\; main()\{ & \quad count:=0; \\ \quad\quad if(i\%2!=0): & \quad int\; i,maxim,count; & \quad for\; i:=9013\; to\;23800\; do \\ \quad\quad\quad if(i\%6!=0): & \quad count=0; & \quad begin \\ \quad\quad\quad\quad if(i\%12!=0): & \quad maxim=0; & \quad if\; i\; mod\; 9\; =\; 0\; then \\ \quad\quad\quad\quad\quad if(i\%81!=0): & \quad for(i=9013);i<238001;i++)\{ & \quad\quad if\; i\; mod\; 2\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad if(i>maxim): & \quad\quad if(i\%9==0)\{ & \quad\quad\quad if\; i\; mod\; 6\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad maxim=i & \quad\quad\quad if(x\%2!=0)\{ & \quad\quad\quad\quad if\; i\; mod\; 12\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad count+=1 & \quad\quad\quad\quad if(x\%6!=0)\{ & \quad\quad\quad\quad\quad if\; i\; mod\; 81 <> 0\ then \\ print(count,maxim) & \quad\quad\quad\quad\quad if(x\%12!=0)\{ & \quad\quad\quad\quad\quad\quad if\; i\; >\; m\; then \\ & \quad\quad\quad\quad\quad\quad if(x\%81!=0)\{ & \quad\quad\quad\quad\quad\quad maxim\; :=\; i; \\ & \quad\quad\quad\quad\quad\quad\quad if(i>maxim)\{ & \quad\quad\quad\quad\quad\quad count\; :=\; count\; +\; 1; \\ & \quad\quad\quad\quad\quad\quad\quad\quad maxim=i; & writeln(count;maxim) \\ & \quad\quad\quad\quad\quad\quad\quad\quad count+=1; & \\ & cout<<count<maxim; & \\ & \} & \\ \hline \end{array}\]

Ответ: 730 23787
Задание 4 #15166

Рассматриваются множество целых чисел, принадлежащих числовому отрезку \([10000;100000]\), которые делятся на 23 и не делятся на 5, 6, 7, 8.

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

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

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

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

\[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline count=0 & \#include\; <iostream> & var\; i,maxim,count:integer; \\ maxim=0 & using\; namespace\; std; & begin \\ for\; i\; in\; range(10000,100001): & & \quad maxim:=0; \\ \quad if\; (i\%23==0): & int\; main()\{ & \quad count:=0; \\ \quad\quad if(i\%5!=0): & \quad int\; i,maxim,count; & \quad for\; i:=10000\; to\;100000\; do \\ \quad\quad\quad if(i\%6!=0): & \quad count=0; & \quad begin \\ \quad\quad\quad\quad if(i\%7!=0): & \quad maxim=0; & \quad if\; i\; mod\; 23\; =\; 0\; then \\ \quad\quad\quad\quad\quad if(i\%8!=0): & \quad for(i=10000);i<100001;i++)\{ & \quad\quad if\; i\; mod\; 5\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad if(i>maxim): & \quad\quad if(i\%23==0)\{ & \quad\quad\quad if\; i\; mod\; 6\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad maxim=i & \quad\quad\quad if(x\%5!=0)\{ & \quad\quad\quad\quad if\; i\; mod\; 7\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad count+=1 & \quad\quad\quad\quad if(x\%6!=0)\{ & \quad\quad\quad\quad\quad if\; i\; mod\; 8 <> 0\ then \\ print(count,m) & \quad\quad\quad\quad\quad if(x\%7!=0)\{ & \quad\quad\quad\quad\quad\quad if\; i\; >\; maxim\; then \\ & \quad\quad\quad\quad\quad\quad if(x\%8!=0)\{ & \quad\quad\quad\quad\quad\quad maxim\; :=\; i; \\ & \quad\quad\quad\quad\quad\quad\quad if(i>maxim)\{ & \quad\quad\quad\quad\quad\quad count\; :=\; count\; +\; 1; \\ & \quad\quad\quad\quad\quad\quad\quad\quad maxim=i; & writeln(count;maxim) \\ & \quad\quad\quad\quad\quad\quad\quad\quad count+=1; & \\ & cout<<count<maxim; & \\ & \} & \\ \hline \end{array}\]

Ответ: 2013 99958
Задание 5 #15167

Рассматриваются множество целых чисел, принадлежащих числовому отрезку \([29384;48493]\), которые делятся на 78 и не делятся на 7, 8, 12, 80.

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

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

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

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

\[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline count=0 & \#include\; <iostream> & var\; i,maxim,count:integer; \\ maxim=0 & using\; namespace\; std; & begin \\ for\; i\; in\; range(29384,48494): & & \quad maxim:=0; \\ \quad if\; (i\%78==0): & int\; main()\{ & \quad count:=0; \\ \quad\quad if(i\%7!=0): & \quad int\; i,maxim,count; & \quad for\; i:=29384\; to\;48493\; do \\ \quad\quad\quad if(i\%8!=0): & \quad count=0; & \quad begin \\ \quad\quad\quad\quad if(i\%12!=0): & \quad maxim=0; & \quad if\; i\; mod\; 78\; =\; 0\; then \\ \quad\quad\quad\quad\quad if(i\%80!=0): & \quad for(i=29384);i<48494;i++)\{ & \quad\quad if\; i\; mod\; 7\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad if(i>maxim): & \quad\quad if(i\%78==0)\{ & \quad\quad\quad if\; i\; mod\; 8\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad maxim=i & \quad\quad\quad if(x\%7!=0)\{ & \quad\quad\quad\quad if\; i\; mod\; 12\; <>\; 0\; then \\ \quad\quad\quad\quad\quad\quad\quad count+=1 & \quad\quad\quad\quad if(x\%8!=0)\{ & \quad\quad\quad\quad\quad if\; i\; mod\; 80 <> 0\ then \\ print(count,maxim) & \quad\quad\quad\quad\quad if(x\%12!=0)\{ & \quad\quad\quad\quad\quad\quad if\; i\; >\; maxim\; then \\ & \quad\quad\quad\quad\quad\quad if(x\%80!=0)\{ & \quad\quad\quad\quad\quad\quad maxim\; :=\; i; \\ & \quad\quad\quad\quad\quad\quad\quad if(i>maxim)\{ & \quad\quad\quad\quad\quad\quad count\; :=\; count\; +\; 1; \\ & \quad\quad\quad\quad\quad\quad\quad\quad maxim=i; & writeln(count;maxim) \\ & \quad\quad\quad\quad\quad\quad\quad\quad count+=1; & \\ & cout<<count<maxim; & \\ & \} & \\ \hline \end{array}\]

Ответ: 106 48438
Задание 6 #15168

Рассматривается множество целых чисел, принадлежащих числовому промежутку \([1234;\ 8765],\) которые делятся на \(27,\) но не делятся на \(4, 72, 81\) и \(128.\)
Найдите количество таких чисел и максимальное из них, которое даёт остаток \(3\) при делении на \(7\)
В ответ запишите два этих целых числа: сначала количество, затем максимальное число.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

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

Напишем программу, чтобы посчитать ответ.

\[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline c\; =\; 0 & \#include\; <iostream> & var\; c,\; m,\; i:\; integer; \\ m\; =\; -1 & & begin \\ for\; i\; in\; range(1234,\; 8765+1): & using\; namespace\; std; & \quad c\; :=\; 0; \\ \quad if\; i\%27\; ==\; 0\ \backslash & int\; main()\{ & \quad m\; :=\; -1; \\ \quad and\; i\%4\; !=\; 0\ \backslash & \quad int\; c,\; m,\; i; & \quad for\; i:=1234\; to\; 8765\; do \\ \quad and\; i\%72\; !=\; 0\ \backslash & \quad c\; =\; 0; & \quad\quad if((i\; mod\; 27)\; =\; 0) \\ \quad and\; i\%81\; !=0: & \quad m\; =\; -1; & \quad\quad and\; ((i\; mod\; 4)\; <>\; 0) \\ \quad\quad c\; +=\; 1 & \quad for(i=1234;\; i<=8765;\; i++) & \quad\quad and\; ((i\; mod\; 72)\; <>\; 0) \\ \quad\quad if\; i\; \%\; 7\; ==\; 3: & \quad\quad if(i\%27\; ==\; 0 & \quad\quad and\; ((i\; mod\; 81)\; <>\; 0)\; then \\ \quad\quad\quad if\; i\; >\; m: & \quad\quad \&\&\; i\%4\; !=\; 0 & \quad\quad begin \\ \quad\quad\quad\quad m\; =\; i & \quad\quad \&\&\; i\%72\; !=\; 0 & \quad\quad\quad c\; :=\; c+1; \\ print(c) & \quad\quad \&\&\; i\%81\; !=0)\{ & \quad\quad\quad if\; (i\; mod\; 7)\; =\; 3\; then \\ print(m) & \quad\quad\quad c\; +=\; 1; & \quad\quad\quad\quad if\; i\; >\; m\; then \\ & \quad\quad\quad if\; (i\; \%\; 7\; ==\; 3) & \quad\quad\quad\quad\quad m\; :=\; i; \\ & \quad\quad\quad\quad if(i\; >\; m) & \quad\quad end; \\ & \quad\quad\quad\quad\quad m\; =\; i; & \quad writeln(c); \\ & \quad\quad \} & \quad writeln(m); \\ & \quad cout\; <<\; c\; <<\; endl; & end. \\ & \quad cout\; <<\; m\; <<\; endl; & \\ & \quad return\; 0; & \\ & \} & \\ \hline \end{array}\]

В ней мы перебираем числа из заданного числового промежутка и проверяем все требуемые условия.

Программа выводит:

140

8613

Значит в ответ следует записать: 140 8613

Ответ: 140 8613
Задание 7 #15170

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

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

Напишем программу, которая проверяет все условия и, когда находит максимум, в предмаксимум записывает старый максимум

\[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline pm\; =\; -1 & \#include\; <iostream> & var\; pm,\; m,\; i:\; longint; \\ m\; =\; -1 & & begin \\ for\; i\; in\; range(2765,\; 9525+1): & using\; namespace\; std; & \quad pm\; :=\; -1; \\ \quad if\; i\%205\; ==\; 0\ \backslash & int\; main()\{ & \quad m\; :=\; -1; \\ \quad and\; i\%10\; !=\; 0\ \backslash & \quad int\; pm,\; m,\; i; & \quad for\; i:=2765\; to\; 9525\; do \\ \quad and\; i\%16\; !=\; 0\ \backslash & \quad pm\; =\; -1; & \quad\quad if\; ((i\; mod\; 205)\; =\; 0) \\ \quad and\; i\%82\; !=0: & \quad m\; =\; -1; & \quad\quad and\; ((i\; mod\; 10)\; <>\; 0) \\ \quad\quad if\; i\; >\; m: & \quad for(i=2765;\; i<=9525;\; i++) & \quad\quad and\; ((i\; mod\; 16)\; <>\; 0) \\ \quad\quad\quad pm\; =\; m & \quad\quad if(i\%205\; ==\; 0 & \quad\quad and\; ((i\; mod\; 82)\; <>\; 0) \\ \quad\quad\quad m\; =\; i & \quad\quad \&\&\; i\%10\; !=\; 0 & \quad\quad then \\ print(pm) & \quad\quad \&\&\; i\%16\; !=\; 0 & \quad\quad begin \\ print(m) & \quad\quad \&\&\; i\%82\; !=0) & \quad\quad\quad if\; i\; >\; m\; then \\ & \quad\quad\quad if(i\; >\; m)\{ & \quad\quad\quad\quad pm\; :=\; m; \\ & \quad\quad\quad\quad pm\; =\; m; & \quad\quad\quad\quad m\; :=\; i; \\ & \quad\quad\quad\quad m\; =\; i; & \quad\quad end; \\ & \quad\quad\quad \} & \quad writeln(pm); \\ & \quad cout\; <<\; pm\; <<\; endl; & \quad writeln(m); \\ & \quad cout\; <<\; m\; <<\; endl; & end. \\ & \quad return\; 0; & \\ & \} & \\ \hline \end{array}\]

Программа выводит:

8815

9225

Значит в ответ следует записать: 8815 9225

Ответ: 8815 9225

1

2
Рулетка
Вы можете получить скидку в рулетке!