Задать вопрос
7 января, 22:05

Нужно на C++

Дано число. В этом числе необходимо изменить одну цифру таким образом, чтобы новое число делилось на 3 и было бы максимально возможным. В исходном числе нужно обязательно изменить одну цифру, даже если исходное число уже делилось на 3.

Программа получает на вход одно длинное натуральное число. Длина числа может достигать 100 цифр.

Программа должна вывести другое натуральное число, удовлетворяющее условиям:

1) Новое число должно отличаться от данного ровно одной цифрой.

2) Новое число должно делиться на 3.

3) Новое число должно быть максимально возможным из всех таких чисел.

+4
Ответы (1)
  1. 7 января, 22:18
    0
    Прежде всего нужно определить остаток от деления исходно числа на 3. для этого, т. к. у вас будет строка вам нужно посчитать сумму отдельных символов строки и взять остаток суммы от деления на 3. Если этот остаток равен:

    А) 0, то нужно увеличить любую цифру числа на 3 или 6 или 9 и нужно изменить 1 цифру так, что бы остаток от деления на 3 не изменился.

    Б) 1, то одну цифру числа нужно увеличить на 2 или 5

    В) 3, то на 1 или 4 или 7

    Для того чтобы число было макс. большим нужно брать максимально левую цифру для увеличения.

    Ну, как-то так
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Нужно на C++ Дано число. В этом числе необходимо изменить одну цифру таким образом, чтобы новое число делилось на 3 и было бы максимально ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы