hdu 1063 Exponentiation
2015-03-15 16:32
288 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1063
//注意边界,看了其他大神的代码,郁闷。。。
//注意边界,看了其他大神的代码,郁闷。。。
#include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #include<iostream> using namespace std; #define N 200 int main() { //freopen("in.txt","r",stdin); char input[10]; int result ; int i,n,r ,t ; while(~scanf("%s%d",input,&n)) { memset(result,0,sizeof(result)); memset(r,0,sizeof(r)); memset(t,0,sizeof(t)); t[0]=1; int j=0; for(i=5;i>=0;i--) { if(input[i]!='.') r[j++]=input[i]-'0'; } for(i=0;i<=5;i++) { if(input[i]=='.') break; } int flag=5-i;//记录小数点的位置 if(i==6) flag=0; if(n==0) { printf("1\n"); continue; } int h=0; for(i=0;i<N;i++) h+=r[i]; if(h==0) { printf("0\n"); continue; } //printf("%d\n",flag); int k; for(k=0;k<n;k++) { for(i=0;i<5;i++) for(j=0;j<N;j++) result[j+i]+=t[j]*r[i];//运算,未进位。r为每次要乘的数值 for(i=0;i<N;i++) { if(result[i]>9)//进位 { result[i+1]+=result[i]/10; result[i]%=10; } } for(j=0;j<N;j++) { t[j]=result[j];//t为下一次运算保留数值 } memset(result,0,sizeof(result));//result为本次运算得到的数值 } for(i=0;i<N;i++) result[i]=t[i]; int high,low; for(i=N-1;i>=0;i--) if(result[i]) { high=i; break; } for(i=0;i<N;i++) if(result[i]) { low=i; break; } // printf("%d\n",high); // printf("%d\n",low); // for(i=N-1;i>=0;i--) // printf("%d",result[i]); // printf("\n"); flag=flag*n-1; // printf("%d\n",flag); if(flag>=high) { printf("."); for(i=flag;i>=low;i--) printf("%d",result[i]); } else if(flag<low) { for(i=high;i>flag;i--) printf("%d",result[i]); } else { for(i=high;i>=low;i--) { if(i==flag) printf("."); printf("%d",result[i]); } } printf("\n"); } return 0; }
相关文章推荐
- HDU 1063 Exponentiation
- HDU 1063 Exponentiation
- Hdu 1063 Exponentiation
- hdu 1063 Exponentiation
- HDU-1063 Exponentiation Java
- hdu 1063 Exponentiation(高精度幂)
- HDU 1063 Exponentiation 浮点数的幂次方
- HDU_1063_Exponentiation_大数
- JAVA hdu 1063 Exponentiation(高精度)
- HDU 1063 Exponentiation(R的N次方)(Java版)
- HDOJ 1063 HDU 1063 Exponentiation JAVA 编写 ACM 1063 IN HDU
- hdu 1063 Exponentiation
- hdu1063 Exponentiation(大整数)
- hdu 1063 Exponentiation(大数模版题)
- hdu 1063 Exponentiation
- HDU 1063 Exponentiation
- Hdu 1063 & Poj 1001 Exponentiation (java 高精度实数 去除首尾0)
- hdu 1063 Exponentiation(java+高精度)
- hdu 1063 Exponentiation
- HDU-1063 Exponentiation