| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
WHY WA#include<stdio.h>
#include<string.h>
int num;
int power(int t,int k)
{
int sum=1;
for(int i=1;i<=k;i++)
sum*=t;
return sum;
}
int Crabic(int n,int k)
{
int max=0,min=0;
int a[4];
int temp;
int i,j;
for(i=0;i<k;i++)
{
a[i]=n%10;
n=n/10;
}
for(i=0;i<k;i++)
for(j=i+1;j<k;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
num++;
for(j=k-1;j>=0;j--)
{
max+=power(10,j)*a[j];
min+=power(10,k-j-1)*a[j];
}
printf("%d-%d=%d\n",max,min,max-min);
if(max-min==0||max-min==6174)
{
printf("Ok!! %d times\n",num);
//exit(0);
}
temp=max-min;
return temp;
}
int main()
{
int n;
int a[4];
while(scanf("%d",&n)!=EOF)
{
if(n==-1) break;
int temp=n;
for(int i=0;i<4;i++)
{
a[i]=temp%10;
temp=temp/10;
}
num=0;
printf("N=%d:\n",a[3]*1000+a[2]*100+a[1]*10+a[0]);
if(n%1111==0||n>9999||n<1000)
{
printf("No!!\n");
continue;
}
while(1)
{
if(n>=1000) n=Crabic(n,4);
else if(n>=100) n=Crabic(n,3);
else if(n>=10) n=Crabic(n,2);
else n=Crabic(n,1);
if(n==0||n==6174) break;
}
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator