Задача: Интересное число

Для заданного числа    N  найти наименьшее положительное число с суммой цифр равной  N, которое делится на  N.

Входные данные

Входные данные состоят из нескольких тестов. Для каждого теста в одной строке  записано одно число  N (1< N<109). Тесты заканчиваются строкой с единственным числом  0.

Выходные данные

В каждой строке выходных данных содержится единственное искомое число. Выходные данные заканчиваются строкой с числом 0.

Вот и решение:

#include "stdafx.h"
#include
using namespace std;

#define SIZE 1000000000
#define SIZE1 1000000000000000


int _tmain(int argc, _TCHAR* argv[])
{
    unsigned long long N,i,b[20],summa,a[20];
    bool sss=false;
    int j,k;
    while (1) 
   {
       cout<<"Vvedite chislo: ";
       cin>>N;

       if (N==0) 
         exit(1);
       else
          if (N>1 && N
          {
                   
               for (i=N; i<=SIZE1 ;i++) 
              {
                          
                   if (i%N==0) 
                  {
                      summa=0;
                      b[0]=i;
                      for (j=0; j<=15. ; j++) 
                      {
                           a[j]=b[j] % 10;
                           b[j+1]=b[j] / 10;
                           if (b[j+1]==0) 
                           {
                               for (k=0; k<=j ;k++) 
                                               {
                                                      summa=summa+a[k];
                                               }
                                               if (summa==N) 
                                                      sss=true;
                                               else
                                                      sss=false;
                                        break;
                                        }
                                  }
                           }

                           if (sss)
                           {     
                                  cout<'\n';
                                  break;
                           }
                    }
            
             }
             else
                    cout<<"\nVvedite chislo bolshe 1 i menshe 1000000000.\nEsli vvedete 0 proqramma zavershitsa!\n\n";
       }
       return 0;
}