I have started a homework problem which involves finding the first 100 emirps(I
ID: 3629292 • Letter: I
Question
I have started a homework problem which involves finding the first 100 emirps(I have just computed the first 100 prime numbers to start). My question is, can someone please help me to implement code in which it displays the first 100 emirps? Any help would be greatly appreciated!!!public class Emirp {
public static void main(String[] args) {
System.out.println("The first 100 prime numbers are ");
printPrimeNumbers(100);
}
public static void printPrimeNumbers (int numberOfPrimes) {
final int NUMBER_OF_PRIMES_PER_LINE = 10; //display 10 per line
int count = 0; //count the number of prime numbers
int number = 2; //a number to be tested for primeness
//repeatedly find prime numbers
while (count < numberOfPrimes) {
//print prime number and increase count
if (isPrime(number)) {
count++; //increase the count
if (count % NUMBER_OF_PRIMES_PER_LINE == 0) {
//print the number and advance to the new line
System.out.printf("%-5s ", number);
}
else
System.out.printf("%-5s", number);
}
//check whether the next number is prime
number++;
}
}
/* Check whether number is prime */
public static boolean isPrime (int number) {
for (int divisor = 2; divisor <= number / 2; divisor++) {
if (number % divisor == 0) { //If true, number is not prime
return false; //number is not prime
}
}
return true; //number is prime
}
}
Explanation / Answer
please rate - thanks
see what you can do with this.
it does what you need
import java.util.*;
public class emirp{
public static void main(String[] args){
{int number=12,number2,upto=0,i;
int[] prime=new int[100];
while(upto<100)
{if(!check(number,prime,upto))
if(isPrime(number))
{number2=reverse(number);
if(number2!=number)
if(!check(number2,prime,upto))
if(isPrime(number2))
upto=insert(number,number2,prime,upto);
}
number++;
}
sort(prime,upto);
System.out.println("The first 100 EMIRP numbers are:");
for(i=0;i<100;i++)
{if(i%10==0)
System.out.println();
System.out.printf("%7d",prime[i]);
}
}
}
public static void sort(int a[],int n)
{int i,j,t;
for(i=0;i<n-1;i++)
for(j=i;j<n;j++)
if(a[i]>a[j])
{t=a[i];
a[i]=a[j];
a[j]=t;
}
}
public static boolean check(int n,int a[],int c)
{int i;
for(i=0;i<c;i++)
if(a[i]==n)
return true;
return false;
}
public static int insert(int n,int m,int a[],int i)
{
a[i++]=n;
a[i++]=m;
return i;
}
public static int reverse(int n)
{int newnum=0;
while(n>0)
{newnum=newnum*10+n%10;
n=n/10;
}
return newnum;
}
public static boolean isPrime(int n)
{int i;
for(i=2;i<n;i++)
if(n%i==0)
return false;
return true;
}
}