/* C code to check whether a number obtained by circularly shifting its digits is prime or not*/
#include <stdio.h>
//function for finding the number of digits in a given number
int get_num_digits(n)
{
int k = 0;
while (n!=0)
{
n = n/10;
k++;
}
return k;
}
//function for finding a circular number
int get_shifted_num(n)
{
int i , d, k = 1 , last_digit , new_num;
d= get_num_digits(n);
for (i=1 ; i<=(d-1); i++)
k = k*10;
last_digit = n/k;
new_num = (n - last_digit*k)*10 + last_digit;
return new_num;
}
//function to check whether a number is prime or not
is_prime(n)
{
int i , circular_num =n;
for (i=1; i<=circular_num/2 ; i++)
if (circular_num%(i+1) == 0)
return 0 ;
return 1;
}
int main ()
{
int i , n , d , circular_num , z;
printf("enter a number : ");
scanf("%d", &n);
d = get_num_digits(n);
circular_num =n;
for (i = 1; i<=d ; i++)
{
printf ("shifted no. is : %d\n", circular_num);
z = is_prime(circular_num);
if (z==1)
printf ("%d is prime\n\n", circular_num);
else
printf ("%d is not prime: \n\n" , circular_num);
circular_num = get_shifted_num(circular_num);
}
return 0;
}
#include <stdio.h>
//function for finding the number of digits in a given number
int get_num_digits(n)
{
int k = 0;
while (n!=0)
{
n = n/10;
k++;
}
return k;
}
//function for finding a circular number
int get_shifted_num(n)
{
int i , d, k = 1 , last_digit , new_num;
d= get_num_digits(n);
for (i=1 ; i<=(d-1); i++)
k = k*10;
last_digit = n/k;
new_num = (n - last_digit*k)*10 + last_digit;
return new_num;
}
//function to check whether a number is prime or not
is_prime(n)
{
int i , circular_num =n;
for (i=1; i<=circular_num/2 ; i++)
if (circular_num%(i+1) == 0)
return 0 ;
return 1;
}
int main ()
{
int i , n , d , circular_num , z;
printf("enter a number : ");
scanf("%d", &n);
d = get_num_digits(n);
circular_num =n;
for (i = 1; i<=d ; i++)
{
printf ("shifted no. is : %d\n", circular_num);
z = is_prime(circular_num);
if (z==1)
printf ("%d is prime\n\n", circular_num);
else
printf ("%d is not prime: \n\n" , circular_num);
circular_num = get_shifted_num(circular_num);
}
return 0;
}