Конкатенация чисел с двух строк

let x = [10, 40, 8];
let X = x[0];
let Y = x[1];
let Z = x[2];
let a = ''
let b = ''
let c = 0
for (let i = 1; i <= X; i++) {
  a += i
}
for (let i = 1; i <= Y; i++) {
  b += i
}
for (let i = 0; i < a.length && i < b.length; i++) {
  if (a[i] + b[i] == Z) {
    c = a[i] + b[i]
    break
  }
  console.log(c)
}

Есть две строки с числами первый от 1 до 10, второй от 1 до 40, нужно чтобы в результате конкатенации чисел двух строк получилось число которое при складывании было ровно 8, нужно реализовать код двумя вариантами: первый вариант минимальный т.е. от первой строки берём 1 от второй строки берём 7, получается 17, второй вариант максимальный: от первой строки 3 от второй 5, получается 35․Финальный результат должен быть сконкатенирован в мин + макс(1735)


Ответы (2 шт):

Автор решения: Denis640Kb

    let x = [10,40,8];
    let X=x[0];
    let Y=x[1];
    let Z=x[2];
    for(let i=1;i<=X;i++){
        for(let v=1;v<=Y;v++){
            let res = i + v;
            if(res == Z){
                let result = String(i) + String(v);
                console.log(result)
            }
        }
    }

Вариант с возвращением только первого числа.

    let x = [10,40,8];
    let X=x[0];
    let Y=x[1];
    let Z=x[2];
    function f(X,Y) {
        for(let i=1;i<=X;i++){
            for(let v=1;v<=Y;v++){
                let res = i + v;
                if(res == Z){
                    let result = String(i) + String(v);
                    return result
                }
            }
        }
    }

    console.log(f(X,Y));

→ Ссылка
Автор решения: Vahan Muradyan

let x=[10,40,8]

function solution(x){
  let num1=0;
  let num2=0;
 let temp=[];
  for(let i=x[0]; i<=x[1];i++) {
    
 	 if(i%10+(Math.floor(i/10))%10==x[2]){
  		temp.push(i)
  	}
  }
 		
  return temp[0]+""+temp[temp.length-1]
}
console.log(solution(x))

→ Ссылка