Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

写完之后,我凌乱了....

Posted by miaozishao at 2011-10-26 20:42:27 on Problem 1350
第一次 CE,第二次是OLE,第三次是WA.第四次是AC............
然后我凌乱了.....不过是0MS哦....秀一下代码:
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;

int cmpj(const void *a,const void *b)
{
	return (*(int*)b-*(int*)a);
}
int cmps(const void *a,const void *b)
{
	return (*(int*)a-*(int*)b);
}

int main()
{
	int n,result=1,temp1,temp2,test,k=0,t,j,m;

	while (cin>>n&&n!=-1)
	{	
		k=0;
		t=0;
		j=0;
		m=0;
		result=n;
		cout<<"N="<<n<<":"<<endl;
		if((result<1000)||(result>=10000))
		{
			cout<<"No!!"<<endl;
			m++;
		}
		else{
		
		while(result!=6174&&result!=0)
		{
			int b[4]={0};	
		test=result;	
    if(result>=1000)
		t=4;
	else if(result>=100)
		t=3;
    else if(result>=10)
	    t=2;
    else if(result>0)
	    t=1;

	for(int i=0;i<t;i++)
	{
		b[i]=test/(pow(10.0,t-1-i));
		test=test-b[i]*(pow(10.0,t-1-i));

	}
	
	qsort(b,4,sizeof(b[0]),cmpj);
    if(b[0]==b[1]&&b[2]==b[3]&&b[1]==b[2])
	{
		cout<<"No!!"<<endl;
		j++;
		break;
	}
	else
	{
		temp1=b[0]*pow(10.0,t-1)+b[1]*pow(10.0,t-2)+b[2]*pow(10.0,t-3)+b[3];
	}
	qsort(b,4,sizeof(b[0]),cmps);
	 temp2=b[0]*1000+b[1]*100+b[2]*10+b[3];
	result=temp1-temp2;
	k++;
	
	
	cout<<temp1<<"-"<<temp2<<"="<<result<<endl;
			
		}
		}
		if(j==0&&m==0) cout<<"Ok!! "<<k<<" times"<<endl;
	}
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator