JAVA找出4位数的所有吸血鬼数字

本文介绍了一种特殊的数字——吸血鬼数字,并提供了一个Java程序示例,用于找出所有四位数的吸血鬼数字。吸血鬼数字是一种有趣的数学概念,这类数字可以分解成两部分,且这两部分相乘等于原数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序 
 * 。以两个0结尾的数字是不允许的。 例如下列数字都是吸血鬼数字 1260=21*60 1827=21*87 2187=27*81 



public class Xixuegui {
public static void main(String[] args){
int num1=0;
System.out.println("四位数的吸血鬼数字有:");
num://定义标签
for(int i=1000;i<9999;i++){//4位数字

int number[]=new int[4];//用来存储四位数字的各个数字
number[0]=i/1000;//千分位
number[1]=(i-1000*number[0])/100;//百分位
number[2]=(i-1000*number[0]-100*number[1])/10;//十分位
number[3]=(i-1000*number[0]-100*number[1]-10*number[2]);//个分位
if(number[2]!=0||number[3]!=0){
for(int j=0;j<4;j++){
int a=number[j];
for(int k=0;k<4;k++){
int b=number[k];
if(j!=k){
for(int l=0;l<4;l++){
int c=number[l];
if(j!=l&&k!=l){
for(int m=0;m<4;m++){
int d=number[m];
if(j!=m&&k!=m&&l!=m){

if(i==(10*a+b)*(10*c+d)){
num1++;
System.out.println("     "+i+"="+(10*a+b)+"×"+(10*c+d));
continue num;//回到循环开始
}
}
}
}
}
}

}
}
}
}
System.out.println("四位数吸血鬼数字总共有"+num1+"组");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值