3 / 3 / 0
Регистрация: 23.06.2015
Сообщений: 34
1

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

24.11.2007, 06:08. Показов 14929. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вводится число. Определить, является ли оно степенью двойки. P.S. Сойдёт и консольный вариант! Я уж как нибудь "пере-оформлю" в визуальный вариант! 8)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2007, 06:08
Ответы с готовыми решениями:

Вводится число, определить является ли оно совершенным
1) вводится два числа, определить наименьшее общее кратное этих чисел 2) вводится число,определить...

Определить, является ли оно степенью числа 2
Здравствуйте! Нужна помощь в решении задач. Помогите, пожалуйста. 1. Треугольник задан...

Определить, является ли число степенью двойки
Говорят, что плохой программист – это тот, кто считает, что в одном килобайте 1000 байт, а хороший...

Определить, является ли натуральное число N степенью двойки
Определить, является ли натуральное число N степенью двойки while

9
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
24.11.2007, 14:58 2
Интересный вопрос. Не имею понятия об "официальном" решении. Но мне в голову пришла мысль делить число на два пока не получим остаток от деления. Если он есть, значит число не степень двойки. Если мы разделили и получили число 2, значит степень двойки. К примеру:

Ввели 8
8:2 = 4;
4:2 = 2;

Ввели 10

10:2 = 5;
5:2 = 2 и 1 в остатке.

Любые числа деленные на два, в конце-концов, придут к числам меньше 10. Поэтому те числа, что придут к 4, 8 являются степенью двойки.
0
Serjoga.
26.11.2007, 03:05 3
Идея толковая! А если не сложно, напишите пожалуйста её в виде цикла WHILE! Ну или в виде Until - Repeat! Спасибо!
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
26.11.2007, 15:16 4
Напишу чуть позже. Вот только домой вернусь.
А пока без компилятора на вскидку:
Код
while (((i mod 2);1) or (i ; 2)) do 
  i:= i/2;
if (i;2) then writeln('It is not a power of two')
else writeln('Yes it is');
0
Serjoga.
28.11.2007, 03:51 5
На вскидку получилось не совсем как надо. Я создал проект попробовал запустить, но в цикле где то спряталась ошибка!
Код
procedure TForm1.Button1Click(Sender: TObject);
var i: extended;
begin
i:=StrToFloat(Edit1.Text);
while (((i mod 2);1) or (i ; 2)) do
  i:= i/2;
if (i;2) then
Label1.Caption:=('It is not a power of two!')
  else
Label1.Caption:=('Yes it is!');
end;
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
28.11.2007, 14:26 6
Чуть позже напишу правильно.
0
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
28.11.2007, 22:17 7
Код
var n:integer;
begin
writeln('Input a digit');
readln(n);
while((n;2) and ((n mod 2) ; 1)) do
    n := floor(n/2);
if (n ; 2) then
    writeln('It isn''t a power of two')
else writeln('It is a power of two');
readln;
end.
1
Serjoga.
29.11.2007, 06:34 8
Спасибо!
Ukruk
18.10.2009, 01:53 9
Цитата Сообщение от Vourhey Посмотреть сообщение
Код
var n:integer;
begin
writeln('Input a digit');
readln(n);
while((n;2) and ((n mod 2) ; 1)) do
    n := floor(n/2);
if (n ; 2) then
    writeln('It isn''t a power of two')
else writeln('It is a power of two');
readln;
end.
Не работает корректно..
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
18.10.2009, 09:12 10
Посмотри здесь.
Определить является ли число степенью двух
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2009, 09:12
Помогаю со студенческими работами здесь

Как определить, что число является степенью двойки?
Вопрос в заголовке темы.

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

Число вводится с клавиатуры, определить является ли оно положительным
Число вводится с клавиатуры, определить является ли оно положительным

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru