Skip to main content

NEAREST PRIME

Program 10:
Nearest Prime Of A Number
For Example User inputted 100 then 101 is nearest prime
user inputs 102 then 103 and 101 are nearest primes.
user inputs 97 then 97 itself is a prime.

import java.io.*;
class np //nearstprime
  { 
      int posprime,negprime;
        public void checkip(int n)
             { int i,c=0;
               for(i=2;i<n;i++)
                {
                  if(n%i==0)
                    {
                       c++;
                     }
                  }
            if(c==0)
            {
                System.out.println("The number itself is a prime");
            }
        
    }
    public static void checkpos(int n)
    { 
       int cpos=0;
        int m=n,c=0;
        m=m+1;
        for(int i=2;i<m;i++)
       {
           if(m%i==0)
           c++;
        }
       if(c==0)
        posprime=m;
        else checkpos(m);//recursion
           
    }
    public static void checkneg(int n)
    { int cneg=0;
        int m=n,c=0;
        m=m-1;
       for(int i=2;i<m;i++)
       {
           if(m%i==0)
           c++;
        }
        if(c==0)
        negprime=m;
           else{
               checkneg(m);//recursion
        }}
    
    public void printCalc(int n)
    { 
        if((posprime-n)<(n-negprime))
        {
            System.out.println(posprime+" is nearest prime");
        }
        else if((n-negprime)<(posprime-n))
        {
            System.out.println(negprime+" is nearest prime");
        }
        else
        System.out.println(negprime+" & "+ posprime+" both are nearest");
    }
    public static void main(String args[])throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter a number to check its nearest prime");
        int num=Integer.parseInt(br.readLine());
        np obj=new np();
        obj.checkip(num);
        obj.checkpos(num);
        obj.checkneg(num);
        obj.printCalc(num);
    }
}

        
 posprime  and negprime are global variables to store nearest prime greater then input and lesser than input 


Comments

Post a Comment

Popular posts from this blog

Arranging according to potential.

PROGRAM: Requested by Sir  Ankur Acharya   ARRANGING WORDS IN A STRING ACCORDING TO THEIR POTENTIAL The encryption of alphabets are to be done as follows: A = 1 B = 2 C = 3 . . . Z = 26 The potential of a word is found by adding the encrypted value of the alphabets. Example: KITE Potential = 11 + 9 + 20 + 5 = 45 Accept a sentence which is terminated by either “ . ” , “ ? ” or “ ! ”. Each word of sentence is separated by single space. Decode the words according to their potential and arrange them in ascending order. Output the result in format given below: Example 1 INPUT : THE SKY IS THE LIMIT. POTENTIAL : THE = 33 SKY = 55 IS = 28 THE = 33 LIMIT = 63 OUTPUT : IS THE THE SKY LIMIT Example 2 INPUT : LOOK BEFORE YOU LEAP. POTENTIAL : LOOK = 53 BEFORE = 51 YOU = 61 LEAP = 34 OUTPUT : LEAP BEFORE LOOK YOU SYNTAX import java.io.*; class Potential {     public static void main(String args[])throws IOException     {         BufferedReader br=new BufferedReader(new Inp

SMITH NUMBER

PROGRAM: SMITH NUMBER A   Smith number  is a composite number, the sum of whose digits is the sum of the digits of its prime factors obtained as a result of prime factorization (excluding 1). The first few such numbers are 4, 22, 58, 85, 94, 121 ……………….. For Example 58=> 5+8=13 2+(2+9) of 29 =13 Since sum of digits=sum of digits of prime factors 58 is a SMITH NUMBER SYNTAX: import java.io.*; class smith_no { static int sum,sum1;     public static void main(String args[])throws IOException     {         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));         int n;int c=0;         System.out.println("Enter a Number");         n=Integer.parseInt(br.readLine());         int n1=n;         while(n1!=0){         int d=n1%10;         sum1+=d;         n1=n1/10;}         for(int i=2;i<n;i++)         {             if(n%i==0)             {                 for(int j=2;j<i;j++)                 {                     if(i

MAGICAL/ MAGIC NUMBER USING RECURSION

PROGRAM :  MAGICAL NUMBER BY RECURSION This  program  checks if a  number  is a  Magic number  in  JAVA . A  number  is said to be a  Magic number  if the sum of its digits are calculated till a single digit is obtained by recursively adding the sum of its digits. If the single digit comes to be 1 then the  number  is a  magic number . Example: 10999 => 1+0+9+9+9=28=>2+8=>10=>1+0= 1                  199    =>1+9+9 =>19=> 1+9=>10=>1+0= 1 SYNTAX import java.io.*; class magic  {    static int c;     public static void main(String arsg[])throws IOException     {         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));         int n;int d=0;int m;         System.out.println("ENter a NUmber");         n=Integer.parseInt(br.readLine());         m=n;         while(n!=0)         {d=n%10;             n=n/10;             c++;         }         magical(m);              }     public static void magical(int x)