吸血鬼数字

什么吸血鬼数字????

              吸血鬼数字是一个偶数,由两个数相乘而得,这两个乘数的数字组成了积的数字。

例如:1260 = 21 * 60    1827 = 21 * 87    2187 = 27 * 81

实现:

//此处列举的是2位的吸血鬼数字
	public static void main(String[] args)
	{
		//用于存放吸血鬼数字
		SortedSet<Integer> primes = new TreeSet<Integer>();
		for(int i = 0; i <= 99; i++)
		{
			for(int j = 0; j <= 99; j++)
			{
				int sum = i * j;
				if(sum <= 9999 && sum >= 1000)
				{
					char[] sumTochar = Integer.toString(sum).toCharArray();
					Arrays.sort(sumTochar);//升序排列乘积
					char[] ijTochar = (Integer.toString(i) + Integer.toString(j)).toCharArray();
					Arrays.sort(ijTochar);//升序排列两个乘数字符
					//判断是否为吸血鬼数字
					if(String.copyValueOf(sumTochar).equals(String.copyValueOf(ijTochar)))
					{
						primes.add(sum);
					}
				}
			}
		}
		//打印吸血鬼数字
		for(int prime : primes)
		{
			System.out.print(prime + "\t");
		}


输出:

1260	1395	1435	1530	1827	2187	6880	


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值