给定一个三位数,要求各个位不能相同(这句话是题目的自我限制,不需要你写条件再判断一次)
1、输入一个数字
2、判断是不是495,如果是,输出变换次数
3、如果不是495,找出这个三位数的最大最小数字,重新组合成两个数进行计算,并统计变换次数
4、重复2、3步骤,直到输出次数
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int cnt=0;
while(n!=495){
int a=n%10,b=n/10%10,c=n/100;
if(a<b) swap(a,b);
if(a<c) swap(a,c);
if(b<c) swap(b,c);
int big=a*100+b*10+c;
int small=c*100+b*10+a;
n=big-small;
cnt++;
}
cout<<cnt;
return 0;
}