循环问题,求老人出生年份

1999年,一个老人说:“今年我的生日已过了,40多年前的今天,我还是个20多岁的青年,那是我的年齡刚好等于那年年份的四个数字之和。”,编程求老人是哪年出生的?

//两层for循环找到二十多年是哪一年,多大年龄,再推出哪一年出生的
// 年份
for(let i=1949;i<1959;i++){
//年龄
for(let m=20;m<30;m++){
// 四位数字之和
let sum= i%10+ parseInt(i/10)%10+ parseInt(i/100)%10+parseInt(i/1000)%10
if(sum==m){
console.log('20多年前年龄是'+sum,'年份是'+ i)
console.log('老人是'+(i-sum)+'年出生的')
}
}
}

输出结果:
20多年前年龄是23 年份是1949
老人是1926年出生的
20多年前年龄是20 年份是1955
老人是1935年出生的
20多年前年龄是21 年份是1956
老人是1935年出生的
20多年前年龄是22 年份是1957
老人是1935年出生的
20多年前年龄是23 年份是1958
老人是1935年出生的

穷举吧,从1920年开始吧

40多年前,算50年前吧,1949年,4个数加一起明显已经大于30了,不满足
1950年25岁,1951年26岁...满足
1960年26岁,也满足,但是不满足40多年前
那么其实老人就是1925年出生的
这是什么编程题,是个推理题