求幂
来源:互联网 发布:mac文档转换成word 编辑:程序博客网 时间:2024/06/17 16:07
描述求R的n次幂(0.0<r<99.999,0<n<=25)
输入
每行输入两个数R和n
R值占1-6列,n占8-9列
输出
对应于每一行输入,输出R的n次幂
前导的0不要输出
无意义的0不要输出
如果结果是一个整数,不要输出小数点
最后一行是空行样例输入
95.123 12
0.4321 20
5.1234 15
6.7592 9
98.999 10
1.0100 12
样例输出
548815620517731830194541.899025343415715973535967221869852721
.00000005148554641076956121994511276767154838481760200726351203835429763013462401
43992025569.928573701266488041146654993318703707511666295476720493953024
29448126.764121021618164430206909037173276672
90429072743629540498.107596019456651774561044010001
1.126825030131969720661201
题目来源
POJ
#include <stdio.h>#include <string.h>#define MAX 200char Multiply[MAX];void MultiplyAB(char A[],char B[]){int i,j,p,m=0,n=0,offset=0;int T[MAX]={0};for(j=strlen(B)-1;j>=0;--j){if(B[j]!='.'){p=offset++;for(i=strlen(A)-1;i>=0;--i){if(A[i]!='.'){T[p]+=(B[j]-'0')*(A[i]-'0');++p;}else{m=strlen(A)-1-i;}}}else{n=strlen(B)-1-j;}}for(i=0;i<p;++i){if(T[i]>=10){T[i+1]=T[i+1]+T[i]/10;T[i]%=10;}}for(i=0;p>=0;--p,++i){if(p!=m+n-1){Multiply[i]=T[p]+'0';}else{Multiply[i]='.';Multiply[++i]=T[p]+'0';}}Multiply[i]='\0';}void Filter(){int dot=0,i=0;while(i<strlen(Multiply)){if(Multiply[i++]=='.'){dot=1;}break;}if(dot==1){i=strlen(Multiply)-1;while(Multiply[i]=='0'){--i;}Multiply[i+1]='\0';}}main(){char a[MAX];unsigned int i,n;while(scanf("%s %d",a,&n)==2){Multiply[0]='1';Multiply[1]='\0';for(i=1;i<=n;++i){MultiplyAB(Multiply,a);}Filter();i=0;while(Multiply[i]=='0'){++i;}while(i<strlen(Multiply)){printf("%c",Multiply[i]);++i;}printf("\n");}printf("\n");}
不能AC
0 0
- 求幂
- 求幂
- 求幂
- 求幂
- 求幂
- 求幂
- 求幂
- 二分求幂,快速求幂
- 快速求幂(二分求幂)
- 求素数,求幂的应用
- 利用二进制求幂
- 快速求幂算法
- 求高精度幂
- 求幂运算
- 高精度求幂运算
- UVA 748 求幂
- 循环矩阵求幂
- 求高精度幂
- xpath选择器
- DQM Serial Sync Index Program ERROR
- My life of programming Java & Linux
- Size Classes with Xcode 6
- 分享一个android仿ios桌面卸载的图标抖动动画
- 求幂
- JMS入门教程
- 直方图
- 【转】C#得到局域网内所有主机名,IP地址,MAC地址
- java 面试题汇总(未完结)
- IOS Auto Layout学习,struts and springs
- PowerDesigner概念模型的Notation设置
- 【android】个人推崇的数据库升级方式
- DataGridView中一列一列的绑定