早教吧作业答案频道 -->其他-->
C++程序设计,数字黑洞6174给定任意的一个四位正整数(数字不全相同),将它的各位数字重新组合成一个最大的数和最小的数相减后得到一个新的数,对这个新的数重复组数、相减的过程,最多
题目详情
C++ 程序设计,数字黑洞6174
给定任意的一个四位正整数(数字不全相同),将它的各位数字重新组合成一个最大的数和最小的数相减后得到一个新的数,对这个新的数重复组数、相减的过程,最多七步,必得6174.即:7641-1467=6174 ,将永远出不来.输入格式:一个四位整数(不全相同) 输出格式:若干行(每行为一个相减运算等式) 输入样例 5060输出样例 6500-56=6444 6444-4446=1998 9981-1899=8082 8820-288=8532 8532-2358=6174编程参考:从 n 中分解出四个数字,排序,组合得最大数、最小数, 二数相减结果重赋给 n ,输出减式, 直到 n=6174 为止.
给定任意的一个四位正整数(数字不全相同),将它的各位数字重新组合成一个最大的数和最小的数相减后得到一个新的数,对这个新的数重复组数、相减的过程,最多七步,必得6174.即:7641-1467=6174 ,将永远出不来.输入格式:一个四位整数(不全相同) 输出格式:若干行(每行为一个相减运算等式) 输入样例 5060输出样例 6500-56=6444 6444-4446=1998 9981-1899=8082 8820-288=8532 8532-2358=6174编程参考:从 n 中分解出四个数字,排序,组合得最大数、最小数, 二数相减结果重赋给 n ,输出减式, 直到 n=6174 为止.
▼优质解答
答案和解析
#include
void sort(int a[],int left,int right)
{
int i,j,t;
i=left,j=right+1;
if(left while(1){
while(i+1 while(j-1>left-1&&a[--j]>a[left]);
if(i>=j)break;
t=a[i],a[i]=a[j],a[j]=t;
}
t=a[left],a[left]=a[j],a[j]=t;
sort(a,left,j-1);
sort(a,j+1,right);
}
}
int main()
{
int a,b[4],ma,mi,i;
scanf("%d",&a);
for(;;)
{
for(i=0;i<4;i++)b[i]=a%10,a/=10;
sort(b,0,3);
ma=b[3]*1000+b[2]*100+b[1]*10+b[0];
mi=b[3]+b[2]*10+b[1]*100+b[0]*1000;
a=ma-mi;
printf("%d-%d=%d\n",ma,mi,a);
if(a==6174)break;
}
return 0;
}
void sort(int a[],int left,int right)
{
int i,j,t;
i=left,j=right+1;
if(left
while(i+1
if(i>=j)break;
t=a[i],a[i]=a[j],a[j]=t;
}
t=a[left],a[left]=a[j],a[j]=t;
sort(a,left,j-1);
sort(a,j+1,right);
}
}
int main()
{
int a,b[4],ma,mi,i;
scanf("%d",&a);
for(;;)
{
for(i=0;i<4;i++)b[i]=a%10,a/=10;
sort(b,0,3);
ma=b[3]*1000+b[2]*100+b[1]*10+b[0];
mi=b[3]+b[2]*10+b[1]*100+b[0]*1000;
a=ma-mi;
printf("%d-%d=%d\n",ma,mi,a);
if(a==6174)break;
}
return 0;
}
看了C++程序设计,数字黑洞617...的网友还看了以下:
纪台镇弥河岸区,是我市黄桃的主要产地.黄桃果实成熟后个大、色黄、味酸,蜜桃果实成熟后个小、色红、味 2020-05-16 …
班上有48名同学,老师把全班同学平均分成8个大组,每个大组又平均分成3个小组,每个小组有多少名同学 2020-05-17 …
想画一个齿轮组,一个大齿轮一个小齿轮,现在可以确定的是两个齿轮的中心距是57mm,希望齿数比是1: 2020-06-04 …
制作省力省时滑轮组:一个大一个小的滑轮,用大的滑轮做定的还是用小的做定的能够省力,拉的时候又快?请 2020-06-11 …
数学找规律10*10个小正方形组成个大正方形10*10个小正方形组成个大正方形,问这个大正方形里共 2020-06-24 …
用词语造句用“训诫、耸立、迂回、凝视、啜泣、纳罕、瘦骨嶙峋、心惊肉跳、头晕目眩、小心翼翼”这10个 2020-07-02 …
用4567四个字可以组几个大小不同的四位数字?组成几个没有重复的四位数字? 2020-07-09 …
找规律.第一组,一个大圆中数34,上下左右小圆数各是4256,第2组,大圆中数40,上下左右数各是 2020-07-29 …
很快地(adv.)或者;也(用在否定词组后)(adv.)大量;许多(pron.)有......的味道 2020-12-05 …
用缘组词,要组5个?大家帮帮我,快点. 2020-12-26 …