uva poj Exponentiation
2012-07-18 14:54
337 查看
从昨天晚上到今天上午一直再rererererererererererererere,最后中午闲着没事在uva上用c++交了一边,结果是= =。。。AC泪奔ing
http://poj.org/problem?id=1001
这道题在poj上和uva上不大一样 uva结果是0的时候输出.,poj要输出0
View Code
http://poj.org/problem?id=1001
这道题在poj上和uva上不大一样 uva结果是0的时候输出.,poj要输出0
View Code
#include<stdio.h> #include<string.h> #include<stdlib.h> int a[2005],b[2005],res[2005]; int multiply(int n,int len) { int k,max,j,i; max = 1; memset(res,0,sizeof(res)); for(k = 0;k < n;k++) { for(i = 0;i < len;i++) for(j = 0;j< max;j++) res[j+i] += b[j]*a[i]; for(j = 0;j < max+len;j++) { res[j+1] += res[j]/10; res[j] %= 10; } for(i = 2004;i >= 0;i--) if(res[i]) break; max = i+1; for(i = 0;i < max;i++) b[i] = res[i]; if(k < n-1) memset(res,0,sizeof(res)); } return max; } int main() { char s[1605]; int max,n,i,len,dots,count,leap,j; while(scanf("%s %d",s,&n) !=EOF) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(res,0,sizeof(res)); len = strlen(s); int is_0,wei; is_0 = 0; for(i = len-1;i >= 0;i--) { if(s[i] == '.' || s[i] !='0') break; } if(i < len-1) s[i+1] = '\0'; if(dots == 0) dots = 0; len = strlen(s); count = 0; leap = 1; for(i = len-1;i >= 0;i--) { if(s[i] != '.') { a[count] = s[i]-'0'; count++; } } b[0] = 1; count = multiply(n,count); for(i = len-1;i>=0;i--) { if(s[i] != '0') break; } int count; count = i; for(i = 0;i < len;i++) if(s[i] == '.') break; for(j = 0;j < len;j++) if(s[j] != '0' && s[j]!= '.') break; int ii; for(ii = len-1;ii >= 0;ii++) if(s[ii] != '0') break; int countdot,count0,countnum; int dotnum; dotnum = ii-i; if(ii < 0) dotnum = 0; int tag = 1; if(n == 0) printf("1"); else { for(i = 2000;i >= 0;i--) { if(res[i]) break; if(dotnum) { if(i == n*dotnum-1 && tag) printf("."),tag = 0; if(i < dotnum*n) printf("0"); } } if(i < 0) printf("0"); for(i = i;i >= 0 ;i--) { if(dotnum > 0) if(i == n*dotnum-1 &&tag) printf("."); printf("%d",res[i]); } } puts(""); } }
相关文章推荐
- poj 1001 uva 748 Exponentiation(高精度小数乘法)
- POJ 1001 & UVa 748 - Exponentiation in JAVA
- POJ 1001 Exponentiation
- UVa 11111 & POJ 3195 - Generalized Matrioshkas
- POJ 1001 Exponentiation [解题报告] Java
- poj 1001 Exponentiation
- UVA 11294 POJ 3648 Wedding
- POJ解题报告——1001 Exponentiation
- POJ 1214 "Accordian" Patience (UVA127)
- POJ 1001 Exponentiation 求幂
- UVA 755 && POJ 1002 (13.08.05)
- poj 2251 uva 532
- uva 215 hdu 1455 uvalive5522 poj 1011 sticks
- poj 1001 Exponentiation(高精度运算)
- uva748 - Exponentiation 高精度小数的幂运算
- poj 1001 Exponentiation
- POJ 3368—— Frequent values(频繁出现的数值UVA11235) RMQ
- uva 1151 - Buy or Build poj 2784 Buy or Build(最小生成树)
- POJ 1264 UVA 109 简单的计算几何
- UVALive5520 UVA305 POJ1012 HDU1443 Joseph【数学计算+打表+水题】