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 |
呵呵呵 话说这题数据可太变态了#include<stdio.h> #include<string.h> int a[100000],b[100000],backup[6],pingfangCount,pointPosition=-1,aL=0,bL=0,buL=0; void mutipl(){ memset(b,0,sizeof(b)); for(int i = 0; i < buL; i++) { for (int j = 0; j < aL; j++) { b[i+j] += backup[i]*a[j]; if(i+j>=bL&&b[i+j]!=0) bL = i+j+1; if(b[i+j]>9){ int save = b[i+j]%10; b[i+j+1] += b[i+j]/10; b[i+j] = save; if(i+j+1>=bL&&b[i+j+1]!=0) bL = i+j+2; } } } for(int i=0;i<bL;i++) a[i]=b[i]; aL=bL; } int main(){ char str[10]; char pingstr[5]; int hz = 1; int zeros = 0; for(;scanf("%s %s",str,pingstr)==2;) { for(int i=5;i>=0;i--) { if(str[i]!='.'){ backup[buL++]=str[i]-'0'; if(str[i]=='0'&&hz) zeros++; else hz = 0; }else { pointPosition = 5-i; hz = 0; } } if(zeros==buL){printf("0\n"); memset(str,'\0',10); memset(pingstr,'\0',5); memset(backup,'0',6); pointPosition = -1; pingfangCount = 0; aL=0; bL=0; buL=0; hz = 1; zeros =0; continue;} for(int i=0;i<=1;i++) if(pingstr[i]!='\0') pingfangCount = 10*pingfangCount+pingstr[i]-'0'; a[0]=1;aL=1; for(int i=pingfangCount;i>0;i--) mutipl(); if(pointPosition==-1) { for(int i=aL-1; i>=0; i--) printf("%d",a[i]); } else { if(pingfangCount*pointPosition<aL) for(int i=aL-1; i>=zeros*pingfangCount; i--) if(pingfangCount*pointPosition==i&&i!=zeros*pingfangCount) printf("%d.",a[i]); else printf("%d",a[i]); else for(int i=pingfangCount*pointPosition; i>=zeros*pingfangCount; i--) if(i==pingfangCount*pointPosition&&i!=zeros*pingfangCount) printf("."); else if(i<=aL-1) printf("%d",a[i]); else printf("0"); } memset(str,'\0',10); memset(pingstr,'\0',5); memset(backup,'0',6); pointPosition = -1; pingfangCount = 0; aL=0; bL=0; buL=0; hz = 1; zeros =0; putchar('\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