一个神奇的四位数-----6174(包括C++实现)
来源:互联网 发布:麻雀网络 编辑:程序博客网 时间:2024/05/01 23:07
许多人会认为这个数没有什么特别的啊,的确,从表面上看不出什么的,这些数字再普通也不过了。但是有没有发现有这样一个奇特的现象:
7641-1467=6174
将它从大到小排列减去从小到大的排列会得到它本身,这也没有什么好稀奇的嘛!但是你如果拿任意一个四位数,你从大到小排列减去从小到大排列,并且不停地执行这个操作,你会惊奇地发现你最终也会得到6174.如:7586
8675-5678=3087
8730-378=8352
8532-2358=6174
对的,任何一个四位数都有这样的规律,可以试试!!!
下面我再给出它用C++程序的验证方法,你可以代任何的四位数用COMPUTER去验证它。
#include <iostream>
using namespace std;
void InsertSort(int a[],int n)
{
int i,j;
int temp;
for( i=0;i<n-1;i++)
{
temp=a[i+1];
j=i;
while(j>-1&&temp<=a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=temp;
}
}
int Change(int a[4],bool b)
{
if(b==0)
{
return a[0]*1000+a[1]*100+a[2]*10+a[3];
}
else
return a[0]+a[1]*10+a[2]*100+a[3]*1000;
}
void GetEnchNum(int a[],int n,int m)
{
int fac=1,i;
for(i=1;i<m;i++)
{
fac=fac*10;
}
a[0]=n/fac;
n=n-a[0]*fac;
for(i=1;i<m;i++)
{
fac=fac/10;
a[i]=n/(fac);
n=n-a[i]*fac;
}
}
int main()
{
int n;
cout<<"Enter a four-digit:";
cin>>n;
while(n>=10000||n<999)
{
cout<<"Please enter it again:";
cin>>n;
}
while(n!=6174)
{
int a[4];
GetEnchNum(a, n,4);
InsertSort(a,4);
n=Change(a,1)-Change(a,0);
cout<<Change(a,1)<<"-"<<Change(a,0)<<"="<<n<<endl;
}
cout<<endl;
}
- 一个神奇的四位数-----6174(包括C++实现)
- 一个特殊的四位数
- 【C++】特殊的四位数
- 编程实现:一个四位数它的数字组合的最大四位数 减去数字组合的最小四位数等于它本身
- 一个神奇高效的工具-正则表达式(四)
- 一个关于四位数猜想的验证
- 编写一个有要求的四位数
- 神奇的汇编(四)
- C语言基础 分解一个四位数,得到它的千,百,十,个位
- 有一个四位数 a1a2a3a4,每一位数都是0到9之间的一个数字(多种解法)
- 一个四位数的9倍仍然是四位数,但是数字次序相反,编程求此四位数
- 遇到一个C语言的神奇问题
- C 如何判断一个数的位数
- 【C语言】简易实现八进制转十进制(最大四位数)
- 算法:输入一个四位数,然后分别输出这个四位数的每一位数字
- 猜一个四位数游戏
- 神奇的C语言四:typedef的使用
- 验证数学黑洞 ,用户输入一个四位数,输出变换到6174的过程
- CSS 小技巧(持续更新)
- sizeof()
- 条款45:运用成员函数模板接受所有兼容类型
- javaQQ群
- 利用Visual Studio 2005开发的程序缺少DLL无法运行的解决方法之一
- 一个神奇的四位数-----6174(包括C++实现)
- Subversion 发展路线图
- [转]在VC中使用智能指针操作Excel
- 线性表的顺序表示和实现(C语言描述)
- 正常数据集的建立及SVM应用
- 最色情的口误
- 26个 jQuery 使用小技巧
- 一名软件大二学生的困惑
- Google离开大陆是不是就能任意妄为?