Попытка подсчитать количество цифр, которые делят число. Невозможно пройти все тестовые случаи.C++

Программы на C++. Форум разработчиков
Anonymous
Попытка подсчитать количество цифр, которые делят число. Невозможно пройти все тестовые случаи.

Сообщение Anonymous »

Ранее я практиковался в Leetcode и столкнулся с таким вопросом:
Дано целое число, вернуть количество цифр в числе, которые делят число.
Целочисленное значение делит числа, если nums % val == 0.

Я придумал следующий подход, и хотя он работал в нескольких примерах тестовых случаев, когда я отправил он не смог очистить тестовые примеры, такие как 54, где выходной сигнал должен быть 0, но в моем коде выходной сигнал равен 1.

Код: Выделить всё

class Solution {
public:
int countDigits(int num) {
set s;
while (num > 0)
{
int lastdigit = num % 10;
if (num % lastdigit == 0)
{
s.insert(lastdigit);
}
num /= 10;
}
if (s.empty()) {
return 0;
} else {
return s.size();
}
}
};
Я прикрепил свой код для справки. Помогите мне понять, где я ошибаюсь.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ass-all-te

Вернуться в «C++»