Answers
Copyable Code:
function [cprime] = circular_primes(number)
cprime=0;
cnewprime=[];
% this is for determine all primes in < n
p=primes(number-1);
nPrime=length(p);
fprintf('The circular prime numbers are: ');
% check circularShift for given prime is circular or not
for i=1:nPrime
% for checking the every digits in prime
number=p(i);
for a=1:findDigits(p(i))
digit(a)=mod(number,10);
number=floor(number/10);
end
%for combine permutations
flag=true;
for a=1:length(digit)
answer=circshift(digit,[1,1]);
digit=answer;
num=0;
for k=1:length(digit)
num=num+10^(k-1) * digit(k);
end
num;
%here check it is prime or not in each permutation
if ~isprime(num)
flag=false;
end
end
%the given prime is circular if every permutations is prime
if flag==true
cprime=cprime+1;
cnewprime=[cnewprime,p(i)];
end
end
%for display the circular prime number
disp(cnewprime);
end
%this function for find digits in a given number
function fd= findDigits(B)
fd=floor(log10(abs(B)+1)) + 1;
end
fprintf('Total number of circular prime number in the given range is: %d\n',circular_primes(100));