求4位数中所有的吸血鬼数字 c++

本文探讨了吸血鬼数字的概念,并提供了一个C++程序来找到所有4位的吸血鬼数字,例如1260和1827,它们可以通过旋转其数字得到彼此。

什么是吸血鬼数字?
就像这样的 1260=2160 1827=2187

#include<iostream>
using namespace std;

int main(){
	int i;
	int a,b,c,d;
	int aa,bb;
	for(i=1000;i<10000;i++){
		a=i%10;
		b=(i/10)%10;
		c=(i/100)%10;
		d=i/1000;

		aa=a*10+b;
		bb=c*10+d;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		} 
		aa=b*10+a;
		bb=c*10+d;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		} 
		aa=a*10+b;
		bb=d*10+c;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		} 
		aa=b*10+a;
		bb=d*10+c;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		} 
		aa=a*10+c;
		bb=b*10+d;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		} 
		aa=a*10+c;
		bb=d*10+b;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		} 
		aa=c*10+a;
		bb=b*10+d;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		} 
		aa=c*10+a;
		bb=d*10+b;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		} 
		aa=a*10+d;
		bb=b*10+c;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		}
		aa=a*10+d;
		bb=c*10+b;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		}
		aa=d*10+a;
		bb=b*10+c;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		}
		aa=d*10+a;
		bb=c*10+b;
		if(aa*bb==i){
			cout << i << " = " << aa << " * " << bb << endl;
			continue;
		}
	}
	return 0;
}

输出

1260 = 60 * 21
1395 = 15 * 93
1435 = 35 * 41
1530 = 30 * 51
1827 = 87 * 21
2187 = 27 * 81
6880 = 80 * 86
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值