求解黑洞数

问题描述:

黑洞数又称陷阱数,是类具有奇特转换特性的整数。任何一个数字不全相同的整数,
经有限“重排求差”操作,总会得到某一个或一些数,这些数即为黑洞数。
“重排求差”操作即把组成该数的数字重排后得到的最大数减去重排后得到的最小数。
举个例子,3位数的黑洞数为495.

简易推导过程:随便找个数,如297,3个位上的数从小到大和从大到小各排一次,
为972和279,相减得693。按上面做法再做一次,得到594,再做一次,得到495,
之后反复都得到495。

验证4位数的黑洞数为6174。
解题思路:

求解黑洞数_第1张图片

#include
#include
#include
using namespace std;
#define LENTH 100
/* 降序:冒泡排序 */
void dec_sort(int array[],int n)
{
	int flag = 0;
	for(int i=0;i>n;
		cout<<"请输入"<>num;
		cout<<"黑洞数为:"<>flag;
	}
	return 0;
}
求解黑洞数_第2张图片

当输入5的时候,会陷入[82962,75933,63954,61974]循环圈中

求解黑洞数_第3张图片

任何一个数字不全相同的整数,
经有限“重排求差”操作,总会得到某一个或一些数,这些数即为黑洞数。


你可能感兴趣的:(趣味问题)