Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/68: Рейтинг темы: голосов - 68, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 09.12.2009
Сообщений: 67
1

Проверить, является ли число степенью двойки

31.01.2010, 18:40. Показов 14262. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно сделать небольшую программу, которая будет проверять, является ли число степенью двойки, то есть, 16-является степенью двойки (2^4=16), а 18 не является, но нужно сделать, как можно проще!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.01.2010, 18:40
Ответы с готовыми решениями:

Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO
Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или...

Проверить является ли число степенью пятерки
Дано число N. Проверить является ли оно степенью пятерки program s; var: k,n:integer; begin...

Проверить, является ли число A степенью числа K
Добрый день Не могу найти тему куда написать решил сюда написать Помогите пожалуйста с заданием...

Является ли число N степенью 5?
Помогите пожалуйста написать программу, которая бы определяла является ли вводимое число N с...

5
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
31.01.2010, 18:45 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
uses crt;
var n,p:longint;
begin
 clrscr;
 write('-> ');
 readln(n);
 p:=1;
 while p<n do p:=p*2;
 if p=n then write('YES') else write('NO');
 readln;
end.
0
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
31.01.2010, 18:50 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function Step(a: integer): boolean;
begin
  while a <> 2 do
  begin
    if a mod 2 <> 0 then begin Step := false; exit end;
    a := a div 2
  end;
  Step := true
end;
var
  a: integer;
begin
  write('Vvedite chislo: ');
  readln(a);
  if Step(a) then write('Eto stepen dvoyki!')
  else write('Eto ne stepen dvoyki!');
  readln
end.
0
0 / 0 / 1
Регистрация: 03.11.2016
Сообщений: 4
05.12.2016, 19:37 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program st;
procedure stepen(a:integer):string;
var r:integer;
begin
r:=0;
while a>0 do begin
r:=r+(a mod 2);
a:=a div 2;
end;
if r=1 then
stepen:='true'
else
stepen:='false'
end;
var a:integer;
begin
readln(a);
writeln(stepen(a));
end;
0
охотник
1011 / 535 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
05.12.2016, 20:07 5
Лучший ответ Сообщение было отмечено Cyborg Drone как решение

Решение

Pascal
1
2
3
4
var n:longint;
begin
 write('n = ');readln(n);writeln(n and (n-1)=0)
end.
1
0 / 0 / 0
Регистрация: 28.09.2018
Сообщений: 2
30.09.2018, 00:14 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function ProverkaKvadrat(k: integer): boolean;
var
  flag: boolean;
begin
  flag := true;
  while (k > 1) and (flag = true) do
  begin
    if k mod 2 <> 0 then flag := false;
    k := k div 2;
  end;
  ProverkaKvadrat := flag;
end;
 
var
  k, i: integer;
 
begin
  for i := 1 to 10 do
  begin
    read(k);
    writeln(ProverkaKvadrat(k));
  end;
end.
0
30.09.2018, 00:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2018, 00:14
Помогаю со студенческими работами здесь

Является ли число степенью числа 3
дано натуральное число. Определить: 1)является ли число степенью числа 3 2)является ли число...

Вводится число. Определить, является ли оно степенью двойки.
Вводится число. Определить, является ли оно степенью двойки. P.S. Сойдёт и консольный вариант! Я...

Является ли число 32768 степенью 2
Нужно сделать такую программку: Является ли число 32768 степенью 2. На ум ничего не приходит.

Определить является ли число степенью двух
Не получается решить задачу помогите пожалуйста.Для каждого из десяти последовательно вводимых...


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

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