Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.03.2022
Сообщений: 3

Написать программу для проверки числа на степень двойки

13.03.2022, 14:41. Показов 1266. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня! Несколько дней ломаю голову над следующей программой:
"Узнать, можно ли из восьмеричной записи числа х отбросить цифру так, чтобы оно стало степенью двойки"
Необходимо написать не используя for и возведение в степень, с минимальным количеством циклов и проверок. Буду благодарен за любую помощь.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2022, 14:41
Ответы с готовыми решениями:

Какой способ подходит для работы с отрицательными значениями? для метода проверки числа на степень двойки?
для метода проверки числа на степень двойки. Я не понимаю как это можно исправить смотрю форумы и не совсем ясно что они имеется ввиду...

Написать программу для проверки кратности числа X числу Y
Написать программу для проверки кратности числа X числу Y (оба числа вводятся с клавиатуры).

Написать программу для проверки натурального числа N на простоту
Написать программу для проверки натурального числа N на простоту. Где-то ошибка #include <stdio.h> int isSimple (int...

3
Модератор
10442 / 5734 / 3406
Регистрация: 17.08.2012
Сообщений: 17,447
14.03.2022, 06:04
Задачка элементарная, но кое-что неясно.

Восьмеричное число нельзя ввести с клавиатуры в виде именно восьмеричного числа. Число вводится в виде строки?

Можно ли считать, что, например, из числа 300400 можно получить число, представляющее степень двойки? После отбрасывания старшей цифры получим 00400, можно ли не учитывать ведущие нули?

Уточните задание.
1
0 / 0 / 0
Регистрация: 13.03.2022
Сообщений: 3
16.03.2022, 11:15  [ТС]
Ведущие нули можно отбросить
Число, в общем-то, не важно как вводить, можно строкой. Важен именно алгоритм вычисления. Спасибо!
0
Модератор
10442 / 5734 / 3406
Регистрация: 17.08.2012
Сообщений: 17,447
19.03.2022, 22:42
Лучший ответ Сообщение было отмечено Kolleda как решение

Решение

В восьмеричной системе счисления число является степенью двойки тогда и только тогда, когда число положительно, старший разряд числа является степенью двойки, а все остальные разряды (если они есть, поскольку число может быть и одноразрядным) равны нулю.

Положительное число, которое будет степенью двойки после вычёркивания одной цифры, должно быть не короче двух разрядов, один из которых является степенью числа два, ещё один - любой, остальные, если они есть, должы быть равны нулю.

Нужно подсчитать количество цифр, равных степени двойки, и количество цифр, не равных нулю и не являющихся степенью двойки. Для выполнения условия всего должно быть подсчитано ровно две цифры, и хотя бы дна из них должна быть степенью двойки.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
  x: string;
  d, i, c: integer;
begin
  write('Введите неотрицательное восьмеричное число: ');
  readln(x);
  i := length(n);
  d := 0;
  c := 0;
  while i > 1 do
    begin
      if x[i] in ['1', '2', '4'] then inc(d)
      else
        if x[i] <> '0' then inc(c);
      dec(i)
    end;
  if (d + c = 2) and (d > 0) then writeln('Можно')
  else writeln('Нельзя')
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2022, 22:42
Помогаю со студенческими работами здесь

Написать программу для проверки натурального числа N на простоту. Значение N вводится с клавиатуры
Написать программу для проверки натурального числа N на простоту.(СИ) Значение N вводится с клавиатуры.

Вычисление максимальную степень двойки двоичного числа
Как вычислить максимальную степень двойки в двоично числе? Написал вот такую функцию ,но проблема в том что он может вычислить степень...

Найти наибольшую степень двойки, не превышающую заданного числа n
Найти наибольшую степень двойки, не превышающую заданного числа n.

Наибольшая целая степень двойки, не превосходящая заданного числа n
Мне нужно рассчитать наибольшую целую степень двойки, не превосходящую заданного числа n. Например, ввод 101 вывод 64 Есть код,...

Написать программу, вычисляющую степень числа
1.Написать программу, вычисляющую степень числа {DELETED} В теме должна быть только одна задача. Создайте отдельную тему для второй ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru