0 / 0 / 0
Регистрация: 22.06.2017
Сообщений: 11

Является ли натуральное число N степенью числа 4

22.06.2017, 16:12. Показов 4512. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определить, является ли натуральное число N степень числа 4 или нет.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2017, 16:12
Ответы с готовыми решениями:

Описать функцию, определяющую, является ли число К степенью числа 5
Помогите пожалуйста! Описать функцию, определяющую, является ли число К степенью числа 5. с ее помощью найти количество степеней числа 5 в...

Логической переменной T присвоить значение true или false в зависимости от того, является натуральное число R , не большего 100000, степенью 3 или нет
Здравствуйте, помогите пожалуйста, есть задача: Логической переменной T присвоить значение true или false в зависимости от того, является...

Дано целое число N>0, если оно является степенью числа 3 то вывести TRUE, если нет - FALSE
Дано целое число N>0, если оно является степенью числа 3 то вывести TRUE, если нет - FALSE

8
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
22.06.2017, 17:21
Проверить, является ли число A степенью числа K
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
23.06.2017, 06:14
ZX Spectrum-128, не правильную ссылку вы тут даёте!
Хоть она и на мою же программу, что лестно, но всё же…
Именно для четверки можно сделать по другому:
Pascal
1
2
3
4
5
6
7
const r : array [Boolean] of String[3] = ('No', 'Yes');
var n, v : integer;
begin
  ReadLn(n); v := 1;
  while v < n do v := v shl 2;
  WriteLn(r[v = n]);
end.
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
23.06.2017, 07:11
Цитата Сообщение от JuriiMW Посмотреть сообщение
не правильную ссылку вы тут даёте
Почему не правильную? Она же работает, честно проверяет числа, являются ли они степенью 4-ки.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
23.06.2017, 07:21
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Она не использует бинарного представления числа 4.
А главное, не верно отвечает на вопрос данного задания.
Там нужно вернуть степень, а здесь — сказать „является“ или „нет“.

Хотя, тоже не ясно, какими именно словами она должна об этом сообщить…
А это очень важно!
1
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
23.06.2017, 08:03
JuriiMW, теперь понял. Спасибо.
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
27.06.2017, 11:48
А если так
Pascal
1
2
3
4
5
6
7
var
  a:integer;
begin
  write('enter a:');
  readln(a);
  writeln(frac(ln(a)/ln(4))=0);
end.
0
Модератор
10441 / 5733 / 3406
Регистрация: 17.08.2012
Сообщений: 17,442
29.06.2017, 00:43
Constantin Cat, нет. Ошибки округления. Проверяем (FPC):
Pascal
1
2
3
4
5
6
7
8
9
var a: int64 = 1;
begin
  while a > 0 do
    begin
      writeln(a:20, frac(ln(a)/ln(4))=0:6);
      a := a shl 2
    end;
  readln
end.
Code
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
                   1  TRUE
                   4  TRUE
                  16  TRUE
                  64  TRUE
                 256  TRUE
                1024  TRUE
                4096  TRUE
               16384 FALSE
               65536  TRUE
              262144  TRUE
             1048576  TRUE
             4194304  TRUE
            16777216  TRUE
            67108864  TRUE
           268435456 FALSE
          1073741824  TRUE
          4294967296  TRUE
         17179869184  TRUE
         68719476736  TRUE
        274877906944  TRUE
       1099511627776  TRUE
       4398046511104  TRUE
      17592186044416  TRUE
      70368744177664  TRUE
     281474976710656  TRUE
    1125899906842624 FALSE
    4503599627370496  TRUE
   18014398509481984  TRUE
   72057594037927936 FALSE
  288230376151711744  TRUE
 1152921504606846976  TRUE
 4611686018427387904 FALSE
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
30.06.2017, 20:38
Лучший ответ Сообщение было отмечено Новичок как решение

Решение

Зато
Pascal
1
2
3
4
5
6
7
8
9
10
uses Math;
var a: Int64 = 1;
begin
  while a > 0 do
  begin
    writeln(a:20, SameValue(Frac(Ln(a)/Ln(4)), 0.0):6);
    a := a shl 2
  end;
  readln
end.
(в FPC) возвращает абсолютно правильное:
Code
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
                   1  TRUE
                   4  TRUE
                  16  TRUE
                  64  TRUE
                 256  TRUE
                1024  TRUE
                4096  TRUE
               16384  TRUE
               65536  TRUE
              262144  TRUE
             1048576  TRUE
             4194304  TRUE
            16777216  TRUE
            67108864  TRUE
           268435456  TRUE
          1073741824  TRUE
          4294967296  TRUE
         17179869184  TRUE
         68719476736  TRUE
        274877906944  TRUE
       1099511627776  TRUE
       4398046511104  TRUE
      17592186044416  TRUE
      70368744177664  TRUE
     281474976710656  TRUE
    1125899906842624  TRUE
    4503599627370496  TRUE
   18014398509481984  TRUE
   72057594037927936  TRUE
  288230376151711744  TRUE
 1152921504606846976  TRUE
 4611686018427387904  TRUE
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.06.2017, 20:38
Помогаю со студенческими работами здесь

Описать логическую функцию, которая проверяет, является ли заданное целое число "k" степенью некоторого числа p.
Описать логическую функцию, которая проверяет, является ли заданное целое число &quot;k&quot; степенью некоторого числа &quot;p&quot;....

Выяснить, является ли простым натуральное число n. Определить функцию, позволяющую распознавать простые числа
Уважаемые программисты,помогите пожалуйста с задачкой по паскалю, не получается составить программу Дано натуральное число n....

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

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

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


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

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

Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[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 и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru