pku1730.java

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· Java 代码 · 共 49 行

JAVA
49
字号
import java.io.*;
import java.util.*;
import java.lang.Math;
public class Main
{
	public static void main(String args[]) throws Exception
	{
		Scanner cin=new Scanner(System.in);
		long a,tmp1,tmp2;
		int i,ln2,j;
		while(true)
		{
			a=cin.nextLong();
			if(a==0) break;
			if(a<0)
			{
				a=-a;
				ln2=(int)(Math.log((double)a)/Math.log((double)2));
				if(ln2%2==0)ln2++;
				for(i=ln2;i>1;i-=2)
				{
					tmp1=(long)(Math.pow(a,1.0/i)+0.5);
					for(j=0,tmp2=1;j<i;j++)tmp2*=tmp1;
					if(tmp2==a)
					{
						System.out.println(i);
						break;
					}
				}
				if(i==1)System.out.println("1");
			}
			else
			{
				ln2=(int)(Math.log((double)a)/Math.log((double)2));
				for(i=ln2;i>1;i--)
				{
					tmp1=(long)(Math.pow(a,1.0/i)+0.5);
					for(j=0,tmp2=1;j<i;j++)tmp2*=tmp1;
					if(tmp2==a)
					{
						System.out.println(i);
						break;
					}
				}
				if(i==1)System.out.println("1");
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?