(Python)
def main(N): # prints all terms <= N
for k in range(1, N+1):
n1=str(k)
n2 = 1
for i in range(1, len(n1)+1):
sum1 = 0
for j in range(0, i):
sum1 += int(n1[j])
n2 = n2*sum1
if n2 == k:
print(k, end=", ")
(PARI) isok(k) = {my(d=digits(k)); prod(i=1, #d, sum(j=1, i, d[j])) == k; } \\
Michel Marcus, Nov 10 2021
(Python)
from itertools import islice, accumulate, count
from math import prod
def A349190gen(): return filter(lambda n:prod(accumulate(int(d) for d in str(n))) == n, count(1)) # generator of terms