Готовлюсь к огэ по информатике и икт автомат получает на выход двузначное десятичное число. по полученному числу строится новое десятичное число по следующим правилам. 1. вычисляются два числа - сумма квадратов старшего и младшего разрядов, а также квадрат суммы старшего и младшего разрядов. 2. полученные два числа записываются друг за другом в порядке неубывания (без разделителей). пример. исходное число: 52. вычисление числа: 29,49. результат: 2949. определите, сколько из ниже чисел могут получится в результате работы автомата. 10 11 25 95 2036 3264 6581 в ответе запишите только количество чисел. объясните по подробнее с меня 20
javascript: function Пр(ч) { var стр = ч.toString(); for (let сч = 1; сч < стр.length; сч++) { let ч1 = parseInt(стр.substring(0, сч)), ч2 = parseInt(стр.substring(сч)); if (ч1 > ч2) continue; let к1 = Math.sqrt(ч1), к2 = Math.sqrt(ч2); if (к1 == Math.floor(к1)) { for (let сч1 = 1; сч1 < 10 && сч1 < ч2 - 1; сч1++) for (let сч2 = 1; сч2 * сч2 + сч1 * сч1 <= ч2; сч2++) if (сч2 * сч2 + сч1 * сч1 == ч2 && Math.pow(сч1 + сч2, 2) == ч1) return ч + ": " + сч1 + ", " + сч2; } if (к2 == Math.floor(к2)) { for (let сч1 = 1; сч1 < 10 && сч1 < ч1 - 1; сч1++) for (let сч2 = 1; сч2 * сч2 + сч1 * сч1 <= ч1; сч2++) if (сч2 * сч2 + сч1 * сч1 == ч1 && Math.pow(сч1 + сч2, 2) == ч2) return ч + ": " + сч1 + сч2; } }; return ч + ": -"; } [2949, 10, 11, 25, 95, 2036, 3264, 6581].forEach(function (зн) { alert(Пр(зн)); });