首页 > 代码库 > 【HDOJ】1313 Round and Round We Go

【HDOJ】1313 Round and Round We Go

大数乘,果断java A了。

 1 import java.util.Scanner; 2 import java.lang.StringBuilder; 3 import java.math.BigInteger; 4  5 public class Main { 6     public static void main(String[] args) { 7         Scanner cin = new Scanner(System.in); 8         while (cin.hasNextLine()) { 9             String line = cin.nextLine();10             int length = line.length();11             int[] cnt = new int[10];12             for (int i=0; i<length; ++i) {13                 ++cnt[line.charAt(i)-‘0‘];14             }15             boolean flag = true;16             BigInteger org = new BigInteger(line);17             for (int i=2; i<=length; ++i) {18                 BigInteger tmp = org.multiply(new BigInteger(String.valueOf(i)));19                 String s = tmp.toString();20                 int[] scnt = new int[10];21                 if (s.length() < length)22                     scnt[0] += length - s.length();23                 for (int j=0; j<s.length(); ++j)24                     ++scnt[s.charAt(j)-‘0‘];25                 for (int j=0; j<10; ++j) {26                     if (scnt[j] != cnt[j]) {27                         flag = false;28                         break;29                     }30                 }31                 if (!flag)32                     break;33             }34             if (flag)35                 System.out.println(line+" is cyclic");36             else37                 System.out.println(line+" is not cyclic");38         }39     }40 }

 

【HDOJ】1313 Round and Round We Go