数字黑洞题解
2026-04-08 16:21:40
发布于:浙江
10阅读
0回复
0点赞
学生版:
#include<bits/stdc++.h>
using namespace std;
int change(int num) {
int a=num/100;
int b=num/10%10;
int c=num%10;
int arr[3]={a,b,c};
sort(arr,arr+3);
int min_num=arr[0]*100+arr[1]*10+arr[2];
int max_num=arr[2]*100+arr[1]*10+arr[0];
return max_num-min_num;
}
int main()
{
int n;
cin>>n;
int count=0;
while(n!=495) {
n=change(n);
count++;
}
cout<<count<<endl;
return 0;
}
老师版:
#include<bits/stdc++.h>
using namespace std;
int change(int num) {
int a=num/100;
int b=num/10%10;//b=num%100/10
int c=num%10;
int arr[3]={a,b,c};
sort(arr,arr+3);//从小到大:sort(arr,arr+3,greater())从大到小
int min_num=arr[0]*100+arr[1]*10+arr[2];
int max_num=arr[2]*100+arr[1]*10+arr[0];
return max_num-min_num;
}
int main()
{
int n;
cin>>n;
int count=0;
while(n!=495) {
n=change(n);
count++;
}
cout<<count<<endl;
return 0;
}
这里空空如也







有帮助,赞一个