WAP to check a number is cyclic number or not
class GFG {
static boolean isCyclic(long N)
{
long num = N;
int count = 0;
int digit = (int)(num % 10);
boolean allSame = true;
while (num > 0) {
count++;
if (num % 10 != digit)
allSame = false;
num = num / 10;
}
if (allSame == true)
return false;
if (count % 2 == 0) {
long halfPower = (long)Math.pow(10, count / 2);
long firstHalf = N % halfPower;
long secondHalf = N / halfPower;
if (firstHalf == firstHalf && isCyclic(firstHalf))
return false;
}
num = N;
while (true) {
long rem = num % 10;
long div = num / 10;
num = (long)(Math.pow(10, count - 1))
* rem
+ div;
if (num == N)
break;
if (num % N != 0)
return false;
}
return true;
}
public static void main(String[] args)
{
long N = 142857;
if (isCyclic(N))
System.out.print("Yes");
else
System.out.print("No");
}
}