uva 10622——Perfect P-th Powers
生活随笔
收集整理的這篇文章主要介紹了
uva 10622——Perfect P-th Powers
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題意:給定一個數(shù)n,求最大的一個數(shù)k使得n=x^k。
思路1:正規(guī)的做法是把這個素數(shù)分解,然后求指數(shù)的最大公約數(shù)就是所求(聽說有人取了最小值也能過,數(shù)據(jù)水吧!),素數(shù)打表,分解+歐幾里得并不麻煩!(注意分解質(zhì)因子用long long)
思路2:既然是某個數(shù)的K次方,那就依次枚舉K好了,反正最多只有32次,有點(diǎn)暴力哈!
code:
思路1:正規(guī)的做法是把這個素數(shù)分解,然后求指數(shù)的最大公約數(shù)就是所求(聽說有人取了最小值也能過,數(shù)據(jù)水吧!),素數(shù)打表,分解+歐幾里得并不麻煩!(注意分解質(zhì)因子用long long)
思路2:既然是某個數(shù)的K次方,那就依次枚舉K好了,反正最多只有32次,有點(diǎn)暴力哈!
code:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
using namespace std;
const double ep=1e-5;
int sol(int n)
{
int f=1;
if (n<0) f=-1;
for (int j=32;j>=2;j--)
{
int t=(long long)(pow(1.0*n*f,1.0/j)+ep)*f;
if (pow(t,j)==n)
return j;
}
return 1;
}
int main()
{
int n;
while (~scanf("%d",&n)&&(n!=0))
printf("%d\n",sol(n));
}
總結(jié)
以上是生活随笔為你收集整理的uva 10622——Perfect P-th Powers的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uva 10515——Powers E
- 下一篇: 长期使用化妆品会导致不孕不育吗