Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2014, 23:00   #1
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
Смех Является ли заданное число степенью числа 3; числа 5

Определить:
Являеться ли заданное число степенью числа 3; Являеться ли заданное число степенью числа 5;

Код:
program z6q76z;
uses crt;
var
x,p,z:longint;
begin
write('Введите x= ');
readln(x);
p:=x;
while p<x do
p:=p*3;
while p<z do
p:=p*5;
writeln('Являеться ли заданное число степенью числа 3');
writeln(p=x);
writeln('Являеться ли заданное число степенью числа 5');
writeln(p=z);
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 10.04.2014 в 09:10.
maksim97maksim вне форума Ответить с цитированием
Старый 09.04.2014, 23:14   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

http://el-prog.narod.ru/pascal39.html
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 10.04.2014, 09:10   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Насколько я понимаю, эти выкладки справедливы только для степеней числа 2...
Не думаю, что для проверки числа 3 и 5 нужно использовать данных аппарат.
Я бы просто делил заданное число, пока остаток от деления равен нулю и число больше единицы. Получилось разделить - бинго! Число является степенью числа 3 (или 5)

примерно так:
Код:
program z6q76z;
var
  x, p: longint;
begin
  write('Введите x= ');
  readln(x);
  p := x;
  while (p > 1) and ((p mod 3) = 0) do
    p := p div 3;

{вывод результата}
  write('заданное число ', x );
  if p = 1 then write(' является') else write(' не является');
    writeLn(' степенью числа 3');

  p := x;
  while (p > 1) and ((p mod 5) = 0) do
    p := p div 5;

{вывод результата}
  write('заданное число ', x );
  if p = 1 then write(' является') else write(' не является');
    writeLn(' степенью числа 5');

end.

Последний раз редактировалось Serge_Bliznykov; 10.04.2014 в 09:17.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.04.2014, 10:07   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Надо было написать, что в конце статьи программа и алгоритм, а все, что выше, не читать. Учту на будущее, спасибо.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 10.04.2014, 11:19   #5
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
Хорошо

Большое СПАСИБО за помощь.
maksim97maksim вне форума Ответить с цитированием
Старый 10.04.2014, 11:37   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Пожалуйста!

p.s. надеюсь, Вы с алгоритмом разобрались.
В качестве доп.вопроса - подумайте, как можно изменить программу, чтобы она не только сообщало, является ли число степенью числа 3 (5), но и в том случае, если является - выводила степень (т.е. в какую степень нужно возвести число 3, чтобы получить заданное число X)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести число. Определить является ли оно степенью 2. Roman1295 Паскаль, Turbo Pascal, PascalABC.NET 3 23.12.2012 11:50
Определить , является ли заданное число степенью тройки dimanfanat Помощь студентам 9 21.12.2012 16:10
Вывести на экран все простые числа, не превосходящие заданное число М - Паскаль bibek13 Помощь студентам 4 06.12.2011 08:17
как проверить, , является ли натуральное число k степенью 3 rager06 Паскаль, Turbo Pascal, PascalABC.NET 6 21.05.2011 17:50
все натуральные числа не превосходящие заданное число N и равное сумме кубов своих цифр. Julila Помощь студентам 42 03.03.2011 00:38