数字黑洞6174 给定任意的一个四位正整数(数字不全相同),将它的各位数字重新组合成一个最大的数和最小的数相减后得到一个新的数,对这个新的数重复组数、相减的过程,最多七步,必得6174。#include<iostream>
using namespace std;
int main()
{
int max=0, min=0, thou, hun, ten, bit, total,n,j,them;
cin >> total;
while (max - min != 6174)
{
thou = total / 1000;
hun = (total - thou * 1000) / 100;
ten = (total - thou * 1000 - hun * 100) / 10;
bit = (total - thou * 1000 - hun * 100 - ten * 10);/*分开四位数字的各位数字*/
int arr[4] = { bit,ten,hun,thou };(运用数组)
for (j = 0; j <3; j++) (运用冒泡排序)
{
for ( n = 0; n <3-j; n++)
{
if (arr[n] > arr[n+1])
{
them = arr[n];
arr[n] = arr[n + 1];
arr[n+1] = them;
}
}
}
max = arr[3] * 1000 + arr[2] * 100 + arr[1] * 10 + arr[0];
min = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];
total = max - min;
cout << max <<"-"<< min << "=" << total << endl;
}
return 0;
}
新手发布一下自己写的程序,望友友们觉得好的话点赞支持一下uuu)