Рассматривается множество целых чисел, принадлежащих числовому промежутку \([1568;\ 9956],\) которые являются квадратом натурального числа и при этом не делятся на \(9\) и \(25\)
Найдите количество таких чисел и максимальное из них.
В ответ запишите два этих целых числа: сначала количество, затем максимум.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.
Для выполнения задачи напишем программу.
\[\begin{array}{ | l | l | l |} \hline Python & C++ & Pascal \\ \hline def\; is\_square(x): & \#include\; <iostream> & function\; \; is\_square\; (x:\; integer):\; Boolean; \\ \quad f\; =\; False & & var\; i:\; integer; \\ \quad for\; i\; in\; range(2,\; x): & using\; namespace\; std; & f:\; Boolean; \\ \quad\quad if\; i*i\; ==\; x: & bool\; is\_square(int\; x)\{ & begin \\ \quad\quad\quad f\; =\; True & \quad int\; f,\; i; & \quad f\; :=\; False; \\ \quad\quad\quad break & \quad f\; =\; false; & \quad for\; i\; :=\; 2\; to\; x-1\; do \\ \quad return\; f & \quad for(i=2;\; i<x;\; i++) & \quad\quad if\; i*i\; =\; x\; then \\ \quad & \quad\quad if(i*i\; ==\; x)\{ & \quad\quad begin \\ c\; =\; 0 & \quad\quad\quad f\; =\; true; & \quad\quad\quad f\; :=\; True; \\ m\; =\; -1 & \quad\quad\quad break; & \quad\quad\quad Break; \\ for\; i\; in\; range(1568,\; 9956+1): & \quad\quad \} & \quad\quad end; \\ \quad if\; is\_square(i)\; \ \backslash & \quad return\; f; & \quad is\_square\; :=\; f; \\ \quad and\; i\%9\; !=\; 0\; \ \backslash & \} & end; \\ \quad and\; i\%25\; !=\; 0\; : & int\; main()\{ & var\; c,\; m,\; i:\; longint; \\ \quad\quad c\; +=\; 1 & \quad int\; c,\; m,\; i; & begin \\ \quad\quad if\; i\; >\; m: & \quad c\; =\; 0; & \quad c\; :=\; 0; \\ \quad\quad\quad m\; =\; i & \quad m\; =\; -1; & \quad m\; :=\; -1; \\ print(c) & \quad for(i=1568;\; i<=9956;\; i++) & \quad for\; i:=1568\; to\; 9956\; do \\ print(m) & \quad\quad if(is\_square(i) & \quad\quad if\; is\_square(i) \\ & \quad\quad \&\&\; i\%9\; !=\; 0 & \quad\quad and\; ((i\; mod\; 9)\; <>\; 0) \\ & \quad\quad \&\&\; i\%25\; !=\; 0)\{ & \quad\quad and\; ((i\; mod\; 25)\; <>\; 0) \\ & \quad\quad\quad c\; +=\; 1; & \quad\quad then \\ & \quad\quad\quad if(i\; >\; m) & \quad\quad begin \\ & \quad\quad\quad\quad m\; =\; i; & \quad\quad\quad c\; :=\; c+1; \\ & \quad\quad \} & \quad\quad\quad if\; i\; >\; m\; then \\ & \quad cout\; <<\; c\; <<\; endl; & \quad\quad\quad\quad m\; :=\; i; \\ & \quad cout\; <<\; m\; <<\; endl; & \quad\quad end; \\ & \quad return\; 0; & \quad writeln(c); \\ & \} & \quad writeln(m); \\ & & end. \\ \hline \end{array}\]
Функиця \(is\_square(x)\) проверяет, является ли число \(x\) квадратом натурального числа. Для этого она проверяет все целые числа от \(1\) до \(x-1\), и если среди нмх встречается число, которое в квадрате даёт \(x,\) то \(x\) является квадратом, если же таких чисел не нашлось, то \(x\) не является квадратом натурального числа.
В основной программе перебираем числа из заданного числового промежутка и проверяем все требуемые условия.
Программа выводит:
32
9604
Значит в ответ следует записать: 32 9604
Ответ: 32 9604