Вход
Регистрация
Спроси Mozg AI
М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
.....больше.....
..меньше..
сергоо16
24.06.2022 14:55 •
Информатика
Составить программу, выполняющую вычисление: если число четное, то разделить его на 2, если нечетное - умножить на 2.
(Если число делится на 2 , то остаток равен, не делится - не равен 0, используйте функцию mod)
👇
Увидеть ответ
Открыть все ответы
Ответ:
anna47983
24.06.2022
#include <cstdio>
#include <cstring>
int
main(void)
{
enum
{
MAX_BUF_SIZE = 100
};
char buf[MAX_BUF_SIZE];
scanf("%s", buf);
int n = strlen(buf);
int shift = 0;
for (int i = 0; i < n; i++) {
shift = (shift + buf[i] - '0') % 3;
}
shift = 3 - shift;
int sel = -1;
for (int i = 0; i < n; i++) {
int tmp = buf[i] - '0' + shift;
if (0 <= tmp && tmp <= 9) {
sel = i;
break;
}
}
if (sel == -1) {
for (int i = n - 1; i >= 0; i++) {
int tmp = buf[i] - '0' - shift;
if (0 <= tmp && tmp <= 9) {
buf[i] -= shift;
break;
}
}
} else {
buf[sel] += shift;
while ('0' <= buf[sel] + 3 && buf[sel] + 3 <= '9') {
buf[sel] += 3;
}
}
printf("%s\n", buf);
return 0;
}
4,6
(22 оценок)
Ответ:
kimd1
24.06.2022
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
int sum = 0;
vector<int> v;
string s;
cin >> s;
for (int i = 0; i < s.size(); ++i) {
v.push_back((int)s[i] - 49);
++sum; ++v[i];
}
int z = sum % 3; z = 3 - z;
{
int i = 0;
while (i <= v.size() && (v[i] + z) > 9) {
++i;
}
if (i >= v.size()) {
if (z == 3) {
v[v.size() - 1] -= 3;
} else {
v[v.size() - 1] -= (3 + z);
}
} else {
v[i] += z;
while ((v[i] + 3) < 9) {
v[i] += 3;
}
}
}
for (int i = 0; i < v.size(); ++i) {
cout << v[i];
}
return 0;
}
4,8
(38 оценок)
Это интересно:
К
Компьютеры-и-электроника
12.03.2021
Как подготовить кабель Ethernet и объединить два ноутбука в сеть...
П
Путешествия
23.11.2022
Как безопасно путешествовать по Южной Африке...
К
Компьютеры-и-электроника
19.09.2020
Как распечатать Google Календарь...
К
Компьютеры-и-электроника
17.06.2022
Как установить TortoiseSVN и произвести свои первые изменения в репозитарии...
К
Компьютеры-и-электроника
11.11.2020
Легкий способ - как скопировать музыку с CD в формате MP3...
К
Компьютеры-и-электроника
01.09.2020
Как подключиться к прокси–серверу: шаг за шагом руководство?...
В
Взаимоотношения
13.03.2020
Избегайте обидных фраз во время ссор между супругами: советы психологов...
К
Компьютеры-и-электроника
04.10.2022
Как удалить старые сообщения в WhatsApp...
В
Взаимоотношения
29.10.2021
Как отказаться от мысли об измене партнеру...
15.01.2022
Как довольствоваться тем, что у вас есть...
Новые ответы от MOGZ: Информатика
Цыпленочка
15.08.2022
Написать программу на паскале: один доллар стоит 56,8 руб вывести в виде таблицы стоимость 1, долларов...
Phkgd
15.08.2022
Составить алгоритм и программу для вычисления значения функции f по формулам: sqrt(ab)/3(a+b)^2 - при a 0, b 0 (pascal)...
apzjxmskaposjxhdh
23.01.2021
Запиши число 13663 в развёрнутом виде, начиная со старшего разряда....
АнимешникИз2К17
16.08.2022
Ключевые слова: форматирование, шрифт, размер, начертание, абзац ,выравнивание, отступ первой строки, междустрочный интервал, стиль, параметры страницы. изобразите данные слова...
KotyaFila
15.02.2022
НУЖНО СОСТАВИТЬ ПРОГРАММУ на языке ПИТОН для данной блок схемы...
kirill884
12.07.2020
НУЖНО СОСТАВИТЬ ПРОГРАММУ НА python ДЛЯ БЛОК СХЕМЫ...
aliceoliver443
15.11.2020
Даны три точки А(х1, у1), B(х2, у2), и C(х3, у3). Определить, будут ли они расположены на одной прямой...
Гaяз
08.12.2020
На рисунке — схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, К и Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой....
дара333
05.05.2022
Язык Python Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 3 и оканчивающихся на 4. Программа получает на вход натуральные...
stenyakina90
17.02.2022
Выберите вариант, который соответствует логической операции – конъюнкции. ответ введите строчной буквой без дополнительных символов. а) 6) B) ответить!...
MOGZ ответил
Напишите кратко олимпийских игр(когда были первые, какие награды, кто участвовал...
Вкабину лифта 9-ти этажного дома вошло 3 пассажира, каждый из них может выйти...
А) уменьши в 6 раз числа 60, 42,90и72...
Kakoe проверочные слово к слову отвёртка?...
Мировоззрение содержит ответы на вопросы :...
Что такое вместимость (объём/ёмкость)...
Что сделала для нас вооп всерасийское обшество охраны природы...
Надо. 1)чем сила инерции отличаются от сил, действующих в инерциальных системах...
Решить 1) (a-b) (a+b)=a2-b2 числа это степени 2) (a+b) (a2-ab-b2)=a3+b3 числа...
Найди значение выражения 166=м-34; 59=81-к...
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ
Оформи подписку
О НАС
О нас
Блог
Условия пользования
Авторское право
Политика конфиденциальности
Предпочтения cookie-файлов
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
App
Вход
Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ
#include <cstring>
int
main(void)
{
enum
{
MAX_BUF_SIZE = 100
};
char buf[MAX_BUF_SIZE];
scanf("%s", buf);
int n = strlen(buf);
int shift = 0;
for (int i = 0; i < n; i++) {
shift = (shift + buf[i] - '0') % 3;
}
shift = 3 - shift;
int sel = -1;
for (int i = 0; i < n; i++) {
int tmp = buf[i] - '0' + shift;
if (0 <= tmp && tmp <= 9) {
sel = i;
break;
}
}
if (sel == -1) {
for (int i = n - 1; i >= 0; i++) {
int tmp = buf[i] - '0' - shift;
if (0 <= tmp && tmp <= 9) {
buf[i] -= shift;
break;
}
}
} else {
buf[sel] += shift;
while ('0' <= buf[sel] + 3 && buf[sel] + 3 <= '9') {
buf[sel] += 3;
}
}
printf("%s\n", buf);
return 0;
}