1 solutions
-
0
C :
#include<stdio.h> int main() { int n,a[4],x,y,t; while(scanf("%d",&n)!=EOF) { while(n!=6174) { a[0]=n/1000; a[1]=n/100%10; a[2]=n/10%10; a[3]=n%10; if(a[0]<a[1]) { t=a[0]; a[0]=a[1]; a[1]=t; } if(a[2]<a[3]) { t=a[2]; a[2]=a[3]; a[3]=t; } if(a[0]<a[2]) { t=a[0]; a[0]=a[2]; a[2]=t; } if(a[1]<a[3]) { t=a[1]; a[1]=a[3]; a[3]=t; } if(a[1]<a[2]) { t=a[1]; a[1]=a[2]; a[2]=t; } x=a[0]*1000+a[1]*100+a[2]*10+a[3]; y=a[0]+a[1]*10+a[2]*100+a[3]*1000; n=x-y; printf("%d-%d=%d\n",x,y,n); } } return 0; }
C++ :
#include<iostream> #include<cstdio> using namespace std; int a[10]={0}; int main() { int n; cin>>n; while(n!=6174) { for(int i=1;i<=4;i++) { a[i]=n/1000; n=(n-a[i]*1000)*10; } for(int j=1;j<=4;++j) for(int z=1;z<=4-j;++z) if(a[z]<a[z+1]) {int t=a[z];a[z]=a[z+1];a[z+1]=t;} n=(a[1]*1000+a[2]*100+a[3]*10+a[4])-(a[4]*1000+a[3]*100+a[2]*10+a[1]); if(a[4]!=0) cout<<a[1]<<a[2]<<a[3]<<a[4]<<"-"<<a[4]<<a[3]<<a[2]<<a[1]<<"="<<n<<endl; else { if(a[3]!=0) cout<<a[1]<<a[2]<<a[3]<<a[4]<<"-"<<a[3]<<a[2]<<a[1]<<"="<<n<<endl; else cout<<a[1]<<a[2]<<a[3]<<a[4]<<"-"<<a[2]<<a[1]<<"="<<n<<endl; } } return 0; }
- 1
Information
- ID
- 10140
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By