c语言编程数学黑洞,一个数学黑洞——6174
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
/*問題描述:從0-9中任意選取4個不完全相同的數(shù)
比如,不能是5?5?5?5,可以是1?2?2?2
用這4個數(shù)排列出最大的數(shù),2221,最小的數(shù)1222
最大減最小:2221-1222=0999
用0?9?9?9這四個數(shù)繼續(xù)重復(fù)上述步驟
最多7步,將得到6174這個數(shù)字
編程證明*/
#include
void?main()
{
int?w1,w2,w3,w4,a,b,c,d,max[4],x,y,z,i,j,t,count,flag=0;
for(w1=0;w1<=9;w1++)
for(w2=0;w2<=9;w2++)
for(w3=0;w3<=9;w3++)
for(w4=0;w4<=9;w4++)
{a=w1;b=w2;c=w3;c=w4;
count=0;
X:??if(a==b==c==d)?continue;
else
{max[0]=a;max[1]=b;max[2]=c;max[3]=d;}
for(j=0;j<3;j++)
for(i=0;i<3-j;i++)
if(max[i]
{t=max[i];max[i]=max[i+1];max[i+1]=t;}
x=1000*max[0]+100*max[1]+10*max[2]+max[3];
y=max[0]+10*max[1]+100*max[2]+1000*max[3];
z=x-y;
count++;
if(count>7)?{flag=1;break;}
if(z!=6174)
{a=z/1000;b=z%1000/100;c=z%100/10;d=z%10;
goto?X;}
}
if(flag==0)?printf("Good!Right!\n");
if(flag==1)?printf("Sorry!Wrong!\n");
}
/*使用3個不完全相同的數(shù)字,也有一個現(xiàn)象,不斷運(yùn)算得到495,最多6步*/
/*上面的是自己做的*/
【C語言】交流群70465991[高級群]
【C語言】交流群70465991[高級群]
【C語言】交流群70465991[高級群]
【C語言】交流群70465991[高級群]
總結(jié)
以上是生活随笔為你收集整理的c语言编程数学黑洞,一个数学黑洞——6174的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓生化危机4(安卓生化危机)
- 下一篇: ds18b20c语言显示小数位,DS18