цифры можно взять целочисленным делением на 10...
пусть за это отвечает оператор 'div':
digit=(N-(N div 10i))div10i-1
вроде так....
соответственно при i=1 получим единицы, при i=2 десятки и т.д.
а для определения "простоты" можно промежуточный массив с простыми числами для сравнения держать...сгенерированный, например при помощи "решета эратосфена"...