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

思想很单纯! ac代码,仅供参考!

Posted by 2007210562 at 2009-09-04 19:02:37 on Problem 2402
#include <iostream>
__int64 count[20]={0,9,18,108,198,1098,1998,10998,19998,109998,199998,1099998,1999998,10999998,19999998,109999998,199999998,1099999998,1999999998,10999999998};
__int64 cc[20]={0,1,1,10,10,100,100,1000,1000,10000,10000,100000,100000,1000000,1000000,10000000,10000000,100000000,100000000,1000000000};
int main ()
{
	__int64 n,tmp,tag,tag1,tag2;
	char ch[20];
	int i,j,head,tail;
	while (scanf ("%I64d",&n)!=EOF)
	{
		if (n==0)
			break;
		if (n<10)
			printf ("%I64d\n",n);
		else
		{
			for (i=2;i<20;i++)
				if (n<=count[i])
					break;
		    tmp=n-count[i-1];
			if (tmp==0)
			{
				for (j=1;j<=i-1;j++)
					printf ("9");
				printf ("\n");
			}
			else
			{
				tmp--;tag1=cc[i];
				tag=tmp/tag1;			
				head=0;tail=i-1;
				ch[i]='\0';
				ch[head]='1'+tag;
				ch[tail]=ch[head];
				head++;tail--;
				tmp=tmp%tag1;
				tag1=tag1/10;
				while (tag1>=1)
				{
					tag=tmp/tag1;			
			    	ch[head]='0'+tag;
			    	ch[tail]=ch[head];
			    	head++;tail--;
			    	tmp=tmp%tag1;
			    	tag1=tag1/10;
				}
				printf ("%s\n",ch);
			}
		}
	}
	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