J - Perfect Pth Powers 문제 해결 보고서(장우)
Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
POJ 1730
Description
We say that x is a perfect square if, for some integer b, x = b
2. Similarly, x is a perfect cube if, for some integer b, x = b
3. More generally, x is a perfect pth power if, for some integer b, x = b
p. Given an integer x you are to determine the largest p such that x is a perfect p
th power.
Input
Each test case is given by a line of input containing x. The value of x will have magnitude at least 2 and be within the range of a (32-bit) int in C, C++, and Java. A line containing 0 follows the last test case.
Output
For each test case, output a line giving the largest integer p such that x is a perfect p
th power.
Sample Input
17
1073741824
25
0
Sample Output
1
30
2
제목: 0이면 끝나는 x 수를 입력합니다.그렇지 않으면 우리는 이 수의 x가 반드시 상응하는 a, b가 존재하고 x는 a의 b차방이라는 것을 안다.이런 a, b는 적어도 한 쌍이 있다.네가 해야 할 일은 가장 큰 b를 구하는 것이다.
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long long n; //int ...
while(scanf("%lld",&n)!=EOF)
{
if(n==0) break;
long long m;
int i;
int ans=1;
if(n<0) //n
{ m=-n;i=3;} //
else
{ m=n;i=2;}
double eps=1e-12; // ,
double p;
for(;i<=32;)
{
p=pow(m*1.0,1.0/i); //pow(int,int) .... float
if(fabs(int(p+eps)-p)<eps) //x a b ,b ,a .
ans=i;
if(n<0)
i+=2; //
else
i++;
}
printf("%d
",ans);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 입출력 I/O스트림(stream) 자바에서 입출력을 수행하려면 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림(stream)이라고 정의했다. 스트림은 단방향 통신만 가능하기 때문에 하나의 스트림으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.