【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             else
37                 System.out.println(line+" is not cyclic");
38         }
39     }
40 }

 

posted on 2014-11-02 11:15  Bombe  阅读(214)  评论(0编辑  收藏  举报

导航