算法的入门问题,麻烦大佬们帮忙解答一下

给定一个算法,其输入是一个整数集S和一个整数m,输出是和为m的所有S的子集,算法步骤如下:

(1)列出S的全部子集,求他们的和。

(2)逐个查看步骤(1)列出的子集,把每个和等于m的子集输出。

上述算法是否满足算法特点?说明理由。

有穷性,有限个步骤

确切性,每个步骤都有确切的定义

可行性,可以通过基本操作完成

有输入输出