| ||||||||||
| 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 | |||||||||
Re:新手:刚来poj,做1001一个下午了,想了很多情况都能出结果,还是AC不了,有AC的同学或者有相同问题的朋友能帮忙吗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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator