Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
5 / 1 / 1
Регистрация: 20.12.2012
Сообщений: 99

Степень двойки

14.04.2013, 17:01. Показов 3712. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан целочисленный массив. Если элемент являеться степенью двойки, вывести эту степень, в противном случаи вывести сообщение, что невозможно.

Смотрел тут примеры про степень двойки, но он мне не подходит так как там просто проверят являеться или не ялвляеться степенью двойки, умножая х на 2...как проверить понятно, а как вывести степнь подскажет кто?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.04.2013, 17:01
Ответы с готовыми решениями:

Циклы: Найти наибольшую степень двойки, на которую делится заданное число
Задание 3. Составить программу решения задачи. 3. Найти наибольшую степень двойки, на которую делится заданное число.

Текстовый файл: указать степень многочлена и его степень
Текстовый файл содержит запись многочлена некоторой степени с одной переменной х, коеффициент-целый. Например:5х^4-3x^3+15x^2-4. Нужно...

Вывести таблицу степеней двойки, используя цикл for
Составить программу позволяющую вывести таблицу степени для 2 используя цикл for to do

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33419 / 21526 / 8239
Регистрация: 22.10.2011
Сообщений: 36,932
Записей в блоге: 12
14.04.2013, 17:10
Цитата Сообщение от Sakhlakers Посмотреть сообщение
так как там просто проверят являеться или не ялвляеться степенью двойки, умножая х на 2
Глупо, однако. Можно проверить за один шаг:
Delphi
1
2
if (x > 0) and ((x and Pred(x)) = 0) then
   ShowMessage(IntToStr(Trunc(Log2(x)))); // Uses Math
0
5 / 1 / 1
Регистрация: 20.12.2012
Сообщений: 99
15.04.2013, 14:29  [ТС]
модуль нельзя использовать, не могу вывести степень, тоеть последовательность
2 0 1 4 5 8 должен вывести
1 х х 2 х 3

Добавлено через 19 часов 49 минут
Delphi
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
37
38
39
40
41
42
43
44
45
procedure TForm1.Button1Click(Sender: TObject);
var a:array[1..100] of integer;
 k,i,n,p:integer;
 s,s1:string;
begin
edit3.text:='';
edit4.text:='';
randomize;
  if edit1.text='' then
  begin
  Showmessage('Введите размерность');
  exit;
  end;
  n:=strtoint(edit1.Text);
  if n<=0 then
  begin
  Showmessage('Размерность не может быть отрицательной или равна 0');
  exit;
  end;
    for i:=1 to n do
  begin
    a[i]:=random(10);
    s:=s+inttostr(a[i])+' ';
    edit2.Text:=s;
    end;
    s:='';
 
for i:=1 to n do
 begin
  p:=2;
  k:=1;
  while p<a[i] do
  begin
  inc(k);
  p:=p*2;
  end;
  if p=a[i] then
   begin
    s1:=s+inttostr(k);
    s:=s+inttostr(a[i])+' ';
    edit3.Text:=s;
    edit4.Text:=s1;
   end;
 end;
end;
сделал, правильно проверяет являеться ли степень двойки или нет, но раз через раз показывает степень числа, подскажите? и как проверить число 1? это же 2 в нулевой, тоже степень двойки?

Добавлено через 17 минут
все сделал затупил
p:=2; надо на 1 поменять
и в 39 строчке поменять s1:=s1+inttostr(k)+' ';
0
240 / 218 / 46
Регистрация: 17.04.2010
Сообщений: 526
15.04.2013, 16:43
Может кому пригодится.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//функция вернет true если x натуральное число и является степенью двойки
function ispow2(const x: integer):boolean;
begin
  Result:=(x<>0) and (x and (x-1)=0);
end;
 
//функция вернет целую часть двоичного логарифма натурального числа x (delphi)
function log2(const x: integer):integer;
begin
  Result:=0;
  if x<>0 then begin
    while x and ($80000000 shr Result)=0 do inc(Result);
    Result:=31-Result;
  end;
end;
 
//asm
function log2(const x: integer):integer; assembler;
asm
  bsr eax, eax
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2013, 16:43
Помогаю со студенческими работами здесь

Проверить, является ли число точной степенью двойки (рекурсия/итерация)
Задание должно быть выполнено обязательно двумя способами: - без использования рекурсии; - с использованием рекурсии. Дано...

Напечатать те элементы массива, индексы которых являются степенями двойки
Дан целочисленный массив с количеством элементов N. Напечатать те его элементы, индексы которых являются степенями двойки (1,2,4,8,16...)

Вывести всех студентов,у которых по всем экзаменам стоят двойки.
Помогите пожалуйста!!! Даны фамилия студента,№ курса и оценка за 3 экзамена.Вывести всех студентов,у которых по всем экзаменам стоят...

Чему приблизительно равна степень двойки через степень десятки?
Например, 2^10 приблизительно 10^3, а каков общий вид отношения приблизительности степеней этих двух чисел?

Вычислить 10-ю степень двойки сложением, умножением и просто возведением в степень.
Написать код на С++ или С# или на Java Вычислить 10-ю степень двойки 1 - сложением, умножением и просто возведением в степень.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru