Войти
Регистрация
Спроси ai-bota
В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Показать больше
Показать меньше
lewa0131
25.07.2020 18:19 •
Информатика
Число N = 2248. Запишите его в системе с основанием 2.
Показать ответ
Ответ:
chcuvivhcyxu
19.02.2020 17:56
#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;
}
0,0
(0 оценок)
Ответ:
Rednegel
19.02.2020 17:56
#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;
}
0,0
(0 оценок)
Популярные вопросы: Информатика
DashaT141
14.12.2020 12:08
Что определяет для массива x следующий алгоритм? s = 0 for i in range(5): for j in range(5): if x[i][j] 0: s += x[i][j]...
Kamilena2010
14.05.2023 12:09
Представьте в виде суммы степеней основания числа 3845,265 10 4275,63610 52,45010 78,262910 258,12210 24,6398 10 5,3990 10 254,05010...
svitlanakost
15.05.2020 20:52
сор по инофрматике(( Инструкции в линейной программе ... *а)Выполняются в определенном порядке в зависимости от некоторого условия.б)Выполняются строго последовательно...
aselm94
24.05.2021 05:08
Напишите результат программы: a=14 print ( Mne +а)Mne 14 letMne 14mne a=14Mne 14...
jenja117
08.01.2020 22:42
Рассмотрите рисунок. Определите назначение указанных компонентов онлайн компилятора...
SBusic
15.06.2022 05:58
ИВТ 1. Последовательность действий, строгое исполнение которых приводит к решению поставленной задачи за определенное число шагов - это.. *Порядок действийАлгоритмИсполнениеинформатика2....
saveliy8
01.03.2020 03:30
поже мне очень надо у меня это последние задание...
alina20021982
11.02.2021 15:40
Найди четыре ошибки в програмном коде ,написав правельный код...
eldiev2005
18.11.2022 08:06
Укажите название программных конструкций...
Thfhgdrhd
23.01.2020 14:41
Назначение знака- #(решетка) в Python. вывод информацииКомментариилогические операцииввод информации...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
Спроси ai-бота
#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;
}
#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;
}