#include #include #include #define LST 1023456789 // last term #define MAX (LST+1) short *mask = 0; // n -> mask of digits in n short dig[10]; // 1< lst[d]) { w = lst[d]; } } } return w; } int main() { mask = new short[MAX]; for (int n=0; n<10; n++) { lst[n] = n; mask[n] = dig[n] = (1 << n); } for (int n=10; n