3 条题解
-
1
C++ :
#include <iostream> #include <cstdio> using namespace std; int maxn(int m); int minn(int m); int main() { int n; scanf("%d",&n); int max1,min1,step=0; while(n!=6174){ max1=maxn(n); min1=minn(n); n=max1-min1; step++; } printf("%d\n",step); return 0; } int maxn(int m) { int a=m/1000; int b=m/100%10; int c=m%100/10; int d=m%10; if(b>a){swap(a,b);} if(c>a){swap(a,c);} if(d>a){swap(a,d);} if(c>b){swap(b,c);} if(d>b){swap(b,d);} if(d>c){swap(c,d);} return a*1000+b*100+c*10+d; } int minn(int m) { int a=m/1000; int b=m/100%10; int c=m%100/10; int d=m%10; if(b<a){swap(a,b);} if(c<a){swap(a,c);} if(d<a){swap(a,d);} if(c<b){swap(b,c);} if(d<b){swap(b,d);} if(d<c){swap(c,d);} return a*1000+b*100+c*10+d; }
信息
- ID
- 123
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 66
- 已通过
- 43
- 上传者