用set容器来做最合适不过了,标准的set容器的运用。

#include<iostream>
#include<set>//set容器不允许重复 
#include<algorithm> 

using namespace std;

int main()
{
	int y,n;
	cin>>y>>n;
	set<int> set;
	for(int i=y;i<y+130;i++)
	{//假设上限为130,能活到130岁 

		int q=i/1000;//千位 
		int b=i/100%10;//百位 
		int s=i/10%10;//十位 
		int g=i%10;//个位
		set.insert(g);
		set.insert(s);
		set.insert(b);
		set.insert(q);
		if(set.size()==n)
		{//满足条件时退出 
			printf("%d %04d\n",i-y,i);
			break;			
		}
		set.clear(); //清空容器,方便下一次数据读入 
	}
	return 0;
}