Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 22.06.2017
Сообщений: 11

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

22.06.2017, 16:12. Показов 4556. Ответов 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
5096 / 2662 / 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
5096 / 2662 / 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
Модератор
10451 / 5746 / 3409
Регистрация: 17.08.2012
Сообщений: 17,478
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
33414 / 21523 / 8237
Регистрация: 22.10.2011
Сообщений: 36,923
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 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. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru