请输入您要查询的百科知识:

 

词条 卡布列克运算
释义

卡布列克常数

验证卡布列克运算。任意一个四位数,只要它们各个位上的数字是不尽相同的,就有这样的规律:

1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;

2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);

3)求两个数的差,得到一个新的四位数(高位零保留)。

重复以上过程,最后得到的结果是6174,这个数被称为卡布列克数

另外三位数的卡布列可常数是495,两位的也有,但是高位的就没有了

pascal算法实现

program kblkcs;

var

n:integer;

s:string;

a,b,c,d,t,s1,s2:string;

a1,a2,c1:integer;

m:integer;

begin

readln(n);

str(n,s);

repeat

a:=s[1];b:=s[2];c:=s[3];d:=s[4];

if a<b then begin t:=a;a:=b;b:=t;end;

if a<c then begin t:=a;a:=c;c:=t;end;

if a<d then begin t:=a;a:=d;d:=t;end;

if b<c then begin t:=b;b:=c;c:=t;end;

if b<d then begin t:=b;b:=d;d:=t;end;

if c<d then begin t:=c;c:=d;d:=t;end;

s1:=a+b+c+d;

s2:=d+c+b+a;

val(s1,a1,c1);

val(s2,a2,c1);

m:=m+1;

writeln(a1,'-',a2,'=',a1-a2);

str(a1-a2,s);

if s='6174' then break;

until (s='6147')or(a1-a2=6147);

writeln(m);

end.

C算法实现

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int main()

{

int num[4];

int number,flag=0;

int i,j;

void paixu(int *num);

int maxium(int *num);

int minium(int *num);

while(flag==0)

{

printf("请输入数字:");

scanf("%d",&number);

fflush(stdin);

for(i=0;i<4;i++)

num[i]=(int)(number/pow(10.0,(double)i))%10;

for(i=0,flag=1;i<3;i++)

{

for(j=i+1;j<4;j++)

if(num[i]==num[j])

{

flag=0;

break;

}

if(flag==0)

break;

}

}

paixu(num);

number=maxium(num)-minium(num);

printf("%d-%d=%d\",maxium(num),minium(num),number);

while(number!=6174)

{

for(i=0;i<4;i++)

num[i]=(int)(number/pow(10.0,(double)i))%10;

paixu(num);

number=maxium(num)-minium(num);

printf("%d-%d=%d\",maxium(num),minium(num),number);

}

}

void paixu(int *num)

{

int i,j,temp;

for(i=0;i<4;i++)

for(j=0;j<3-i;j++)

if(num[j]<num[j+1])

{

temp=num[j];

num[j]=num[j+1];

num[j+1]=temp;

}

}

int maxium(int *num)

{

int max=0,i;

for(i=0;i<4;i++)

max=max+(int)(num[i]*pow(10.0,3-i));

return max;

}

int minium(int *num)

{

int min=0,i;

for(i=0;i<4;i++)

min=min+(int)(num[i]*pow(10.0,i));

return min;

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/4 8:15:36