poj1350

来源:互联网 发布:nginx编写第三方模块 编辑:程序博客网 时间:2024/06/07 09:57

//此题比较简单,只是要注意细节,如不是四位的一定要输出No,注意NO和OK都是首字母大写,后面是小写,这个搞得我wa了一次。

#include<iostream>
#include<algorithm>
using namespace std;

int Do(int m)
{
 int a[10],i,j,p,q,cnt=0;
 while(m)
 {
  a[cnt++]=m%10;
  m/=10;
 }
 sort(a,a+cnt);
 p=a[0];q=a[cnt-1];
 for(i=1;i<cnt;i++)
 {
  p=p*10+a[i];
 }
 for(j=cnt-2;j>=0;j--)
 {
  q=q*10+a[j];
 }
 printf("%d-%d=%d/n",q,p,q-p);
 return q-p;
}

int main()
{
 int n,m,a,b,c,d,cnt;
 while(1)
 {
  cnt=0;
  scanf("%d",&n);
  if(n==-1)
   break;
  m=n;
  a=m%10;m/=10;
  b=m%10;m/=10;
  c=m%10;m/=10;
  d=m%10;
  printf("N=%d:/n",n);
  if(a==b&&b==c&&c==d||n>=10000||n<=999)
  {
   printf("No!!/n");
  } 
  else
  {
   while(1)
   {
    cnt++;
    n=Do(n);
    if(n==6174||n==0)
     break;
   }
   printf("Ok!! %d times/n",cnt);
  }
 }
 return 0;
}

原创粉丝点击