吸血鬼数字的Java——简单写法

本程序主要由两部分构成(1)拆分函数demerge(),用以拆分所有的四位数字;(2)For循环嵌套条件语句,用来查找4位以内的吸血鬼数字。

public class VampireNumber {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        for(int i=1000;i<10000;i++){         
             int[] iarray=new int[4];//拆分数字,从个位,十位,百位,千位组合相乘;
             iarray=Demerge.demerge(i);             
             if((iarray[3]*10+iarray[2])*(iarray[1]*10+iarray[0])==i){
                 System.out.println("吸血鬼数字为:"+i+"="+(iarray[3]*10+iarray[2])+"*"+(iarray[1]*10+iarray[0]));
             }                        
             else if((iarray[3]*10+iarray[2])*(iarray[1]+iarray[0]*10)==i){
                 System.out.println("吸血鬼数字为: "+i+"="+(iarray[3]*10+iarray[2])+"*"+(iarray[1]+iarray[0]*10));
             }
             else if((iarray[3]+iarray[2]*10)*(iarray[1]*10+iarray[0])==i){
                 System.out.println("吸血鬼数字为: "+i+"="+(iarray[3]+iarray[2]*10)+"*"+(iarray[1]*10+iarray[0]));
             }
             else if((iarray[3]+iarray[2]*10)*(iarray[1]+iarray[0]*10)==i){
                 System.out.println("吸血鬼数字为:"+i+"="+(iarray[3]+iarray[2]*10)+"*"+(iarray[1]+iarray[0]*10));
             }
             else if((iarray[3]*10+iarray[1])*(iarray[2]*10+iarray[0])==i){
                 System.out.println("吸血鬼数字为:"+i+"="+(iarray[3]*10+iarray[1])+"*"+(iarray[2]*10+iarray[0]));
             }
             else if((iarray[3]*10+iarray[1])*(iarray[2]+iarray[0]*10)==i){
                 System.out.println("吸血鬼数字为: "+i+"="+(iarray[3]*10+iarray[1])+"*"+(iarray[2]+iarray[0]*10));
             }
             else if((iarray[3]+iarray[1]*10)*(iarray[2]*10+iarray[0])==i){
                 System.out.println("吸血鬼数字为: "+i+"="+(iarray[3]+iarray[1]*10)+"*"+(iarray[2]*10+iarray[0]));
             }
             else if((iarray[3]+iarray[1]*10)*(iarray[2]+iarray[0]*10)==i){
                 System.out.println("吸血鬼数字为: "+i+"="+(iarray[3]+iarray[1]*10)+"*"+(iarray[2]+iarray[0]*10));
             }
             else if((iarray[3]*10+iarray[0])*(iarray[1]*10+iarray[2])==i){
                 System.out.println("吸血鬼数字为: "+i+"="+(iarray[3]*10+iarray[0])+"*"+(iarray[1]*10+iarray[2]));
             }
             else if((iarray[3]*10+iarray[0])*(iarray[1]+iarray[2]*10)==i){
                 System.out.println("吸血鬼数字为:"+i+"="+(iarray[3]*10+iarray[0])+"*"+(iarray[1]+iarray[2]*10));
             }
             else if((iarray[3]+iarray[0]*10)*(iarray[1]*10+iarray[2])==i){
                 System.out.println("吸血鬼数字为:"+i+"="+(iarray[3]+iarray[0]*10)+"*"+(iarray[1]*10+iarray[2]));
             }
             else if((iarray[3]+iarray[0]*10)*(iarray[1]+iarray[2]*10)==i){
                 System.out.println("吸血鬼数字为: "+i+"="+(iarray[3]+iarray[0]*10)+"*"+(iarray[1]+iarray[2]*10));
             }
        }   
    }
}
 class Demerge{
    public static int[] demerge(int i){
        int count=-1;
        int[]iarray=new int[4];
        while(i/10!=0){
            count++;
            iarray[count]=i%10;
            i=i/10;
        }
        count++;
        iarray[count]=i%10;
            return iarray;
    }            
}

output:
吸血鬼数字为: 1260=21 * 60
吸血鬼数字为: 1395=15 * 93
吸血鬼数字为: 1435=41 * 35
吸血鬼数字为: 1530=51 * 30
吸血鬼数字为: 1827=21 * 87
吸血鬼数字为: 2187=27 * 81
吸血鬼数字为: 6880=86 * 80

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值