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

Точная P-ая степень - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ switch http://www.cyberforum.ru/cpp-beginners/thread340858.html
swith(n) { case 1: { return 0; // Надо ли в этом случае писать break ? // В каких случаях работа будет нарушена ? } }
C++ Изучение C++: с чего начать и чем продолжить Умею программировать на Паскале, хочу начать изучать С++. Обязательно ли прежде изучить С? Посоветуйте пожалуйста с какой книги начать и какой продолжить. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread340834.html
Быки и коровы C++
Есть такая задача быки о коровы. Условие: http://********/?main=task&id_task=13. Код моего решения: #include <fstream> #include <string> int main() { std:: string t,f; int buki=0, korovy=0; std:: fstream ifs ("input.txt"); ifs >> t >> f; //чтение из файла
Программирование электроники C++
Уважаемые, я в С++ новичок и хотелось бы поинтересоваться, можно ли программировать устройства на этом языке, какая для этого библиотека существует? (поясню, устройства, ну.. например на производстве клешня робота)
C++ Пришла в голову мысль http://www.cyberforum.ru/cpp-beginners/thread340797.html
Сделать кнопку.....поместить её на рабочий стол, при нажатии на которую воспроизводился рингтон...для личных целей)) Как её можно написать:D
C++ Convert C++ TO C or how Add Dll to C Наверно тупой вопрос, но я не нашел ответа потому, что поиском не найдешь"C++ в C" на форуме. и в инете тоже нет. Можно ли как-то переконвертировать C++ часть кода в C проект. если нет, то как добавить DLL в проект C. "Hinstance", "LoadLibrary" и т.п. в C не поддерживаются(( подробнее

Показать сообщение отдельно
AvengerAlive
5 / 5 / 0
Регистрация: 30.07.2011
Сообщений: 257

Точная P-ая степень - C++

10.08.2011, 19:05. Просмотров 1949. Ответов 41
Метки (Все метки)

Точная P-ая степень
Число x является точным квадратом, если для некотого целого b, x = b2. Аналогично x является точным кубом, если для некоторого целого b, x = b3. Далее будем утверждать, что x является точной p-ой степенью, если существует такое целое b, что x = bp. По заданному целому x необходимо найти наибольшее p, для которого x является точной p-ой степенью.

Технические условия
Входные данные

Содержит одно число - 32 битовое целое знаковое x, |x| > 1.

Выходные данные

Вывести наибольшее p, для которого x является точной p-ой степенью.

Лимит времени: 1 секунда
Баллы за пройденный тест: 5
Сложность: 25%

Пример
Пример входных данных
Sample 1
17

Sample 2
1073741824 Пример выходных данных
Sample 1
1

Sample 2
30

Вот моя реализация:

C++
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
33
34
#include <iostream>
#include <cmath>
#define epsilon 1e-3
using namespace std;
 
int main()
{
int i,x,t,n;
double p,k,u;
bool minus=false;
cin >> x;
if (x<0) minus=true;
x=fabs(x);
p=log(x);
n=sqrt(x)+1;
for (i=2; i<=n; i++)
{
if (x%i==0)
{
 k=log(i);
 u=p/k; t=u+epsilon;
 if (u>=t-epsilon && u<=t+epsilon) 
  {
    if (minus) 
    {
     if (t%2==1) { cout << t << endl; return 0; }
    }
   else { cout << t << endl; return 0; }
  } 
}
}
cout << 1 << endl;
return 0;
}
Не проходит 1 тест. Кто может помочь?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru