100 баллов программирование!
Дано целое положительное число N. Какое минимальное количество цифр нужно вычеркнуть
из N, чтобы оставшиеся число делилось на 3 без остатка?
c++
пример ввод-вывод
12 0
148 1
10 1
В первом примере N = 12. 12 без остатка делится на 3, поэтому ответ будет 0.
Во втором примере N = 148. Если вычеркнуть цифру 4, то мы получим число 18, который без
остатка делится на 3. Поэтому в этом тесте ответ 1.
Ответы
Ответ дал:
0
#include <iostream>
#include <vector>
int minDigitsToRemove(int N) {
std::vector<int> digits;
while (N > 0) {
digits.push_back(N % 10);
N /= 10;
}
int sum = 0;
for (int digit : digits) {
sum += digit;
}
int remainder = sum % 3;
int countToRemove = 0;
for (int digit : digits) {
if ((sum - digit) % 3 == remainder) {
return countToRemove;
}
countToRemove++;
}
return -1;
}
int main() {
int N;
std::cout << "Введите целое положительное число N: ";
std::cin >> N;
int result = minDigitsToRemove(N);
std::cout << result << std::endl;
return 0;
}
Вас заинтересует
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
1 год назад
1 год назад
7 лет назад
7 лет назад