主要用到了大整数和字符串操作,s+=s,实现左右子串可能,再用String的contains函数进行求解 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); BigInteger b=new BigInteger(s); String s2=""; s2=s+s; int flag=1; for(int i=1;i<=s.length();i++) { BigInteger b1=b.multiply(new BigInteger(String.valueOf(i))); String s1=b1.toString(); if(s2.contains(s1)==true) { continue; } else { flag=0; break; } } if(flag==1) System.out.println(1); else System.out.println(0); } }