Ну посмотрел, в принципе ничего особо сложного, что там внутри архива не смотрел
Для первой задачи я бы следующий алгоритм применил:
1. Берем старший разряд, если он меньше 9, то декремент от 9 до значения разряда + 1
2. Заменяем значение разряда на текущее и проверяем делится ли на 3 без остатка, если делится, прерываем цикл и показываем полученное число
3. Если не нашли решения , то переходим к следующему по старшинству разряду, и далее к пункту 2
Остальные лень решать, но в принципе все решаемы не очень сложными методами