Форум программистов, компьютерный форум CyberForum.ru

Является ли число степенью другого числа - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Killan
 Аватар для Killan
4 / 4 / 0
Регистрация: 28.09.2009
Сообщений: 52
24.11.2010, 19:07     Является ли число степенью другого числа #1
Нужна функция которая проверяет, является ли число степенью какого либо другого числа.
Ломаю голову, но пока не смог придумать как это сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2010, 19:07     Является ли число степенью другого числа
Посмотрите здесь:

C++ В целочисленном массиве найти и напечатать те элементы, которые являются степенью 2. Написать функцию, проверяющую, является ли число степенью 2.
Помогите, ГОС экзамен! Является ли число степенью другого числа C++
C++ Проверить, является ли вводимое число степенью числа 3
C++ Определить, является ли натуральное число k степенью числа
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RepoMen
 Аватар для RepoMen
13 / 2 / 1
Регистрация: 24.11.2010
Сообщений: 10
24.11.2010, 19:17     Является ли число степенью другого числа #2
Цитата Сообщение от Killan Посмотреть сообщение
как это сделать
нужно перебирать число (К) от 1 и дальше и перебирать степень (О) до тех пор, пока число К в степени О меньше заданого
если К в степени О равно нашему числу, значит ответ положительный
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
24.11.2010, 19:26     Является ли число степенью другого числа #3
Killan, вспоминайте математику. Есть такая замечательная функция под названием логарифм.
Killan
 Аватар для Killan
4 / 4 / 0
Регистрация: 28.09.2009
Сообщений: 52
24.11.2010, 19:47  [ТС]     Является ли число степенью другого числа #4
RepoMen
Мм... принцип понял, но мне кажется это слишком громоздко, а если число в несколько тысяч ?
Перебор затянется...
gooseim
В прошлом с математикой не дружил, стал её нормально понимать, только после того как увлекся программированием, но логарифм это для меня жуткое ругательство)
Если не сложно объясните принцип, или покажите пример.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.11.2010, 19:49     Является ли число степенью другого числа #5
Цитата Сообщение от Killan Посмотреть сообщение
Нужна функция которая проверяет, является ли число степенью какого либо другого числа.
что нужно вывести в ответ (просто да или нет)
привели свое число и ответ
Killan
 Аватар для Killan
4 / 4 / 0
Регистрация: 28.09.2009
Сообщений: 52
24.11.2010, 19:56  [ТС]     Является ли число степенью другого числа #6
Нужно получить именно числа, которые при возведении в степень дадут искомое число.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
24.11.2010, 20:05     Является ли число степенью другого числа #7
x^y=z
log(x, z)=y
вот и вся математика

Добавлено через 3 минуты
x=z^(1/y)
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.11.2010, 20:33     Является ли число степенью другого числа #8
Цитата Сообщение от Killan Посмотреть сообщение
Нужно получить именно числа, которые при возведении в степень дадут искомое число.
Вы сами хотя бы поняли что сказали
а где пример
Killan
 Аватар для Killan
4 / 4 / 0
Регистрация: 28.09.2009
Сообщений: 52
24.11.2010, 20:35  [ТС]     Является ли число степенью другого числа #9
Цитата Сообщение от gooseim Посмотреть сообщение
x^y=z
log(x, z)=y
вот и вся математика

Добавлено через 3 минуты
x=z^(1/y)
Как я понял, тут имея 2 значения можно найти третье.
Допустим, z==9.
Тогда уравнения выглядят так:
3^2=9
log(3, 9)=2
3=9^(1/2)

Но мне известно только одно число, допустим
49=x(7)^y(2) - [x и y мне не известны.]
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
24.11.2010, 20:40     Является ли число степенью другого числа #10
Killan, тогда видимо только перебором. Я думал 2 числа известны.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
24.11.2010, 20:52     Является ли число степенью другого числа #11
Перебирать тут надо только основание логарифма, а результат проверять на "целость". Если логарифм z по очередному основанию y равен x, и этот x целый - то x есть искомое основание степени, а основание логарифма y - показатель степени.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2010, 21:18     Является ли число степенью другого числа
Еще ссылки по теме:

C++ Определите, является ли число степенью числа 2, и если является, то выведите значение этой степени
C++ Определить, является ли натуральное число степенью другого числа
Фунция, проверяющая, является ли число степенью числа 5 C++

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.11.2010, 21:18     Является ли число степенью другого числа #12
Цитата Сообщение от Killan Посмотреть сообщение
49=x^y - [x и y мне не известны.]
C
1
2
3
4
5
6
7
8
9
10
11
12
 int a=49, f=0;
int w; //степень
for (int i=2; i<=sqrt(a); i++)  
{ w=0;
   if (a%i==0)
       while (a) {
         if (a%i!=0)
          break
       a/=i; w++;}
if (!a)
{ f=1; break; }  }
  // i^w=a
Добавлено через 19 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int a=4, i, f=0;
int w; //степень
for ( i=2; i<=sqrt(a); i++)
{ w=0;
   if (a%i==0)
       while (a!=1) {
         if (a%i!=0)
          break;
       a/=i; w++;}
if (a==1)
{ f=1; break; }  }
  // i^w=a
 
         if (f)
         printf ("%d - %d", i, w);
подкорректировал, но ты еще через отладчик доделай, у меня просто времени больше нет
Yandex
Объявления
24.11.2010, 21:18     Является ли число степенью другого числа
Ответ Создать тему
Опции темы

Текущее время: 14:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru