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

Re:新手:刚来poj,做1001一个下午了,想了很多情况都能出结果,还是AC不了,有AC的同学或者有相同问题的朋友能帮忙吗

Posted by wjg198721 at 2008-05-22 18:00:03
In Reply To:新手:刚来poj,做1001一个下午了,想了很多情况都能出结果,还是AC不了,有AC的同学或者有相同问题的朋友能帮忙吗 Posted by:hongjie at 2007-01-13 16:32:17
> 我是用C语言写的,是一点一点写的,有点乱。但是还是出来了结果?help!!
> #include<stdio.h>
> #include<string.h>
> int mi(int k)
> {
> 	int i,c;
>     c=1;
> 	for(i=1;i<=k;i++)
> 	c=c*10;
> 	return c;
> }    
> int main()
> {
> 	int m1,m,n,i,j,b,l,a[1001],lenth,ling,k;
> 	short int zheng;
>     char m2[10],m3[10];
> while(scanf("%s%d",m3,&n)==2) {
>    for(i=0,zheng=1;i<=strlen(m3);i++)
>    {
> 	   if(m3[i]=='.') {zheng=0; break;}
>    }
>    if(zheng==0){
> 	   k=i; lenth=strlen(m3)-k-1;
> 
>    for(m1=0,i=0;i<k;i++)
>    {
> 	 m1=m1+mi(k-i-1)*(m3[i]-48);
>    }
>    for(i=0;i<lenth;i++) m2[i]=m3[i+k+1];
>    m2[lenth]='\0';
>    
>   
> m=0; ling=0;
> lenth=strlen(m2);
> m=m+m1*mi(lenth);
>   for(i=lenth;i>0;i--)
>      m=m+((int)m2[i-1]-48)*mi(lenth-i);
> lenth=lenth*n;
> 	l=1;a[1]=1;
> 	for(i=1;i<=n;i++)
> 	{
> 		b=0;
> 		for(j=1;j<=l;j++)
> 		{
> 			b+=a[j]*m;
> 			a[j]=b%10;
> 			b=b/10;
> 		}
> 		while(b!=0)
> 		{
>            l++;
> 		   a[l]=b%10;
> 		    b=b/10;
> 		}
> 	}
> 	for(i=1;i<=lenth;i++)
> 	{
> 		if(a[i]==0) ling++;
> 		else break;
> 	}
> 	if(m1!=0){
> 	for(i=l;i>ling;i--)
> 	{
> 		if(i==lenth) printf("%c",'.');
> 		printf("%d",a[i]);
> 	
> 	}
> 	}
> 	else{
> 	   printf("%c",'.');
> 	   for(i=lenth;i>ling;i--){
> 	   if(0<a[i]&&a[i]<10) printf("%d",a[i]);
> 	   else printf("%d",0);
> 	   }
> 	}
> 	printf("\n");
> 	}
>    else{
> 	for(i=0,m=0;i<strlen(m3);i++)   m=m+(m3[i]-48)*mi(strlen(m3)-i-1);
> 	l=1;a[1]=1;
> 	for(i=1;i<=n;i++)
> 	{
> 		b=0;
> 		for(j=1;j<=l;j++)
> 		{
> 			b+=a[j]*m;
> 			a[j]=b%10;
> 			b=b/10;
> 		}
> 		while(b!=0)
> 		{
>            l++;
> 		   a[l]=b%10;
> 		    b=b/10;
> 		}
> 	}
>     for(i=l;i>0;i--)
> 	{
> 		printf("%d",a[i]);
> 	
> 	}
> 	printf("\n");
>    }
> 
> }
> 	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