Возможное решение:
Сначала расписываем набор переменных у.
Из 1 не может следовать 0
Расписываем значения для х :
если х1=0 то х2=0 или х2=1, но если х1=1, то х2=1.
подбираем для каждого набора х кол-во наборов у
1-7
2-6 т.к х6=1 и следовательно у6=1 и т.д
Итого 28
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
var n:=ReadInteger('n=');
var m:=ReadInteger('m=');
var d1,d2,d3,d4,d5,d6:integer;
for var i:=n to m do begin
d6:=i div 100000;
d5:=(i mod 100000) div 10000;
d4:=(i mod 10000) div 1000;
d3:=(i mod 1000) div 100;
d2:=(i mod 100) div 10;
d1:=i mod 10;
if (d1+d2+d3)=(d4+d5+d6) then Write(d6,d5,d4,d3,d2,d1,' ')
end
end.
<u><em>Тестовое решение:</em></u>
n= 163702
m= 164701
163703 163712 163721 163730 163802 163811 163820 163901 163910 164029 164038 164047 164056 164065 164074 164083 164092 164119 164128 164137 164146 164155 164164 164173 164182 164191 164209 164218 164227 164236 164245 164254 164263 164272 164281 164290 164308 164317 164326 164335 164344 164353 164362 164371 164380 164407 164416 164425 164434 164443 164452 164461 164470 164506 164515 164524 164533 164542 164551 164560 164605 164614 164623 164632 164641 164650
// JavaScript
var getIndexesOfArrayInLimits = function (array, minValue, maxValue){
var isInLimit = function (value) {
return value >= minValue && value <= maxValue;
}
var getIndexesOfArrayLimitedByFunc = function (array, func) {
var results = [];
array.forEach(function(element, index, array) {
if (!!func(element)) {
results.push(index);
}
});
return results;
}
return getIndexesOfArrayLimitedByFunc(array, isInLimit);
}
<span>// That's an example of using the function
getIndexesOfArrayInLimits([1, 5, 2, 3, 4], 1, 3);</span>
Понятность,обьективность,полнота