黑洞数495

 

目的是抛砖引玉,直接抄骗别人也是骗自己。

题目描述

任何一个数字不全相同的三位数,经过有限次“重排求差”操作,总会得到495。
“重排求差”操作是将组成一个数的各位数字重排得到的最大数减去
最小数。例如107,“重排求差”操作序列为:710-17=693,963-369=594,954-459=495。

输入

输入由多组数据构成。
每组数据一行,包含一个数字不完全相同的三位数(该数也不是495)。

输出

针对每组输入数据,输出其“重排求差”操作得到495的过程,然后再输出一空行。
具体格式见样例。

样例输入 Copy

100
107

样例输出 Copy

100: 100 - 1 = 99
99: 990 - 99 = 891
891: 981 - 189 = 792
792: 972 - 279 = 693
693: 963 - 369 = 594
594: 954 - 459 = 495

107: 710 - 17 = 693
693: 963 - 369 = 594
594: 954 - 459 = 495

#include<stdio.h>
int main()
{
int n,x;
while(scanf("%d",&n)!=EOF){
int a=0,b=0,c=0,max=0,min=0,y=0,e=0,s=0,result=0;
loop:
x=n;
a=x%10;
x=x/10;
b=x%10;
c=x/10;
if(a>c&&b>c){s=c;if(a>b){y=a;e=b;}else{y=b;e=a;}}
if(a>b&&c>b){s=b;if(a>c){y=a;e=c;}else{y=c;e=a;}}
if(b>a&&c>a){s=a;if(b>c){y=b;e=c;}else{y=c;e=b;}}
if(a==b){if(a>c){y=a;e=b;s=c;}else{y=c;e=b;s=a;}}
if(a==c){if(a>b){y=a;e=c;s=b;}else{y=b;e=a;s=c;}}
if(b==c){if(b>a){y=b;e=c;s=a;}else{y=a;e=b;s=c;}}
max=y*100+e*10+s;
min=s*100+e*10+y;
result=max-min;
printf("%d: %d - %d = %d\n",n,max,min,result);
if(result!=495){n=result;goto loop;}
else{printf("\n");}
}
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值