0
4.0kviews
Write a program to check whether the entered four digit number is vampire or not.

Write a program to check whether the entered four digit number is vampire or not. Combination of digits from this number forms two 2-digit number. When they are multiplied by each other, we get original number. eg : 1260 = 21 *60.

Mumbai University > Information Technology > Sem 3 > Object Oriented Programming Methodology

Marks: 10M

Year: Dec 2015

1 Answer
0
172views
public class VampireNumber {
    private int vampire = 0;
    private int part1 = 0;
    private int part2 = 0;

    public int getVampire() {
        return vampire;
    }

    public void setVampire(int vampire) {
        this.vampire = vampire;
    }

    public int getPart1() {
        return part1;
    }

    public int getPart2() {
        return part2;
    }

    public int calc(int n1, int n2, int n3, int n4){
        int t1;
        int t2;
        t1 = n1*10 + n2;
        t2 = n3*10 + n4;
        this.part1 = t1;
        this.part2 = t2;
        return t1*t2;
    }

    public boolean isVampire(int number){
        if(number%100 == 0)
            return false;
        int result= 0;
        int n1 = number/100;
        int n2 = number%100;

        int t1, t2, t3, t4;
        t1 = n1/10;
        t2 = n1%10;
        t3 = n2/10;
        t4 = n2%10;

        result = calc(t1,t2,t3,t4);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t1,t2,t4,t3);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t2,t1,t3,t4);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t2,t1,t4,t3);
        if(result == number){
            setVampire(number);
            return true;
        }

        result = calc(t1,t3,t2,t4);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t1,t3,t4,t2);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t3,t1,t2,t4);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t3,t1,t4,t2);
        if(result == number){
            setVampire(number);
            return true;
        }

        result = calc(t1,t4,t2,t3);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t1,t4,t3,t2);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t4,t1,t2,t3);
        if(result == number){
            setVampire(number);
            return true;
        }
        result = calc(t4,t1,t3,t2);
        if(result == number){
            setVampire(number);
            return true;
        }

        return false;
    }

    public static void main(String[] args){
     System.out.println("Enter  the four digit number "); 
  int number =sc.nextInt();
if(number<1000  || number>10000)
{
System.out.println("Please enter four digit nuber");
}
else
{
            if(vnum.isVampire(number)){
                System.out.println(vnum.getVampire() + " = " + vnum.getPart1() + " * " + vnum.getPart2());

}
            }

        }
    }
}
Please log in to add an answer.