pku1047.java

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

JAVA
57
字号
import java.io.*;
import java.util.*;
import java.math.BigInteger;

class Main
{
	public static void main(String args[]) throws Exception
	{
		Scanner cin=new Scanner(System.in);
		String s;
		BigInteger bi0 = new BigInteger("0");
		BigInteger bi00 = new BigInteger("0");
		
		BigInteger [] bi1 = new BigInteger[61];
		BigInteger [] bi2 = new BigInteger[61];
		
		int i, l;
		while (cin.hasNext())
		{
			s = cin.next();
			l = s.length();
			bi1[0] = new BigInteger(s);
			bi2[0] = bi1[0];
			bi0 = BigInteger.TEN;
			bi00 = BigInteger.ONE;
			for (i = 1; i < l; i++)
			{
				bi0 = bi0.multiply(BigInteger.TEN);
				bi00 = bi00.multiply(BigInteger.TEN);
			}

			for (i = 1; i < l; i++)
			{
				bi1[i] = bi1[i - 1].add(bi1[0]).mod(bi0);
				bi2[i] = bi2[i - 1].multiply(BigInteger.TEN).add(bi2[i - 1].divide(bi00)).mod(bi0);
			}
			
			Arrays.sort(bi1, 0, l);
			Arrays.sort(bi2, 0, l);
			for (i = 0; i < l; i++)
			{
				if (bi1[i].equals(bi2[i]) == false)
					break;
			}
			if (i == l)
			{
				System.out.println(s + " is cyclic");
			}
			else
			{
				System.out.println(s + " is not cyclic");
			}
		}
		
	}
}

⌨️ 快捷键说明

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