Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 10.11.2020
Сообщений: 3
1

Изменить одну цифру десятичного числа чтобы оно стало кратным 3 и максимально возможным

16.10.2021, 13:54. Показов 641. Ответов 3
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Погите пожалуйста решить задачу.Нужно в данном 3х значном числе изменить одну цифру, чтобы оно стало кратным 3 и максимально возможным. даже если оно уже кратное 3 нужно изменить 1 цифру.
Пример: Ввод 123
Вывод 723
Вот до чего дошел:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#define ll long long
using namespace std;
int main(){
ll n, dif;
cin>>n;
dif =3-(n/100+n%10+n/10%10)%3;
if(n/100<9-dif){
    n+=dif*100;
    while(n+300<1000&&n%3==0){
        n+=300;
    }
}
else if(n/100>9-dif&&n%100/10<9-dif){
    n+=dif*10;
    while(n%100+30<100&&n%3==0){
        n+=30;
    }
}
else if(n/100>9-dif&&n%100/10>9-dif){
    n+=dif;
    while(n%10+3<10&&n%3==0){
        n+=3;
    }
}
else if(n/100>9-dif&&n%100/10>9-dif)
n-=dif;
cout<<n;
}
Если можно объясните хотя бы принцып.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2021, 13:54
Ответы с готовыми решениями:

Заменить в данном числе одну цифру так, чтобы новое число делилось на 3 и было максимально возможным
Здравствуйте! Есть задача. Кому не сложно - напишите. Если можно, несколько вариантов ответов....

написать программу, проверяющую, можно ли в пятеричную запись числа х вставить цифру 4 так, чтобы оно стало степенью 2
написать программу проверяющую можно ли в пятеричную запись числа х вставить цифру 4 так чтобы оно...

Вычеркнуть одну цифру, так чтобы в результате осталось максимально возможное значение
Из натурального числа, содержащего не более 100 цифр, вычеркнуть одну цифру, так чтобы в результате...

Восстановить исходное число при условии, что оно было максимально возможным
Когда Серёже было три года, ему подарили на день рождения набор карточек с буквами. С их помощью...

Проверить можно ли пятеричной записи числа х отбросить несколько первых чисел так, чтобы оно стало квадратом
Проверить можно ли пятеричной записи числа х отбросить несколько первых чисел так, чтобы оно стало...

3
3271 / 1490 / 469
Регистрация: 01.06.2021
Сообщений: 5,033
16.10.2021, 15:33 2
не самый лучший способ, но всё же

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
 
bool test(int a, int b)
{
    int a_3 = a % 10;
    a /= 10;
    int a_2 = a % 10;
    a /= 10;
    int a_1 = a % 10;
    int b_3 = b % 10;
    b /= 10;
    int b_2 = b % 10;
    b /= 10;
    int b_1 = b % 10;
    return ((a_1 == b_1 && a_2 == b_2 && a_3 != b_3) ||
            (a_1 == b_1 && a_2 != b_2 && a_3 == b_3) ||
            (a_1 != b_1 && a_2 == b_2 && a_3 == b_3));
}
 
int main()
{
    int n;
    while (true)
    {
        std::cin >> n;
        if (n > 99 && n < 1000) break;
    }
    for (int i = 999; i > 101; --i)
    {
        if (i % 3 == 0 && test(n, i))
        {
            std::cout << i;
            break;
        }
    }
}
1
0 / 0 / 0
Регистрация: 10.11.2020
Сообщений: 3
16.10.2021, 17:46  [ТС] 3
Спасибо за помощь, но ваш вариант слишком медленный.Хотя балов у него больше чем у моего
0
3271 / 1490 / 469
Регистрация: 01.06.2021
Сообщений: 5,033
16.10.2021, 18:22 4
Цитата Сообщение от Artem248 Посмотреть сообщение
ваш вариант слишком медленный
да, я же писал, что это не самый лучший вариант, ибо тут простой перебор всех чисел
Цитата Сообщение от Artem248 Посмотреть сообщение
Хотя балов у него больше чем у моего
а на каком сайте вы проверяете?
0
16.10.2021, 18:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2021, 18:22
Помогаю со студенческими работами здесь

Проверить можно ли пятеричной записи числа х отбросить несколько первых чисел так, чтобы оно стало квадратом
Проверить можно ли пятеричной записи числа х отбросить несколько первых чисел так, чтобы оно стало...

Проверить можно ли пятеричной записи числа х отбросить несколько первых чисел так, чтобы оно стало квадратом
Проверить можно ли пятеричной записи числа х отбросить несколько первых чисел так, чтобы оно стало...

Проверить,можно ли из шестеричной записи числа (x) отбросить несколько первых цифр так,чтобы оно стало простым
ПРОСТОЕ-делится только на самого себя и только на 1.

В длинном числе изменить только одну цифру так, чтобы новое число делилось на 9
Задано натуральное число, содержащее не более 200 цифр. В этом числе требуется изменить только одну...

Дано натуральное число N. Определить есть ли оно кратным K, но не кратным L
Помогите написать программу такого рода: Дано натуральное число N. Определить есть ли оно кратным...

Дано два числа A и B. Требуется найти пару чисел (P;Q) таких, что A <= P < Q <= B, а P and Q было максимально возможным,
Максимальный AND Дано два числа A и B. Требуется найти пару чисел (P;Q) таких, что A &lt;= P &lt; Q &lt;=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru