博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1001 Exponentiation
阅读量:6161 次
发布时间:2019-06-21

本文共 1814 字,大约阅读时间需要 6 分钟。

给出一个实数x和一个整数n

求x^n

这是一道高精度题,把实数转化为整数后解决,处理小数点位置即可

(破题写了一上午)

#include
#include
#include
#include
using namespace std;const int N=1e5+5;struct name{ int s[N],l; name(){memset(s,0,sizeof(s));} void push() { int ll=l; for(int i=0;i<2*ll;i++) { s[i+1]+=s[i]/10; s[i]%=10; if(s[i]!=0) l=max(l,i); } } void pushup(int x) { s[x+1]+=s[x]/10; s[x]%=10; if(s[x+1]!=0) l=max(l,x+1); if(s[x]!=0) l=max(l,x); } friend inline name operator *(const name &x,const name &y) { name ret; int l1=x.l,l2=y.l; // for(int i=l1-1;i>=0;i--) printf("%d",x.s[i]);putchar('*'); // for(int i=l2-1;i>=0;i--) printf("%d",y.s[i]);putchar('='); ret.l=l1+l2; for(int i=0;i
=0;i--) printf("%d",ret.s[i]);putchar('\n'); return ret; }}a,ans;name qpow(name x,int y){ name ret=x;y--; while(y) { if(y&1) ret=ret*x; x=x*x; y>>=1; } return ret;}char str[N],S[N];int n;int main(){ while(~scanf("%s%d",str,&n)) { int l=strlen(str),pos=-1; a.l=0; for(int i=l-1,j=0;i>=0;i--,j++) { if(str[i]=='.') { pos=j; continue; } a.s[a.l++]=str[i]-'0'; } ans=qpow(a,n); l=ans.l; //printf("Y%dY\n",pos); pos=pos*n; //printf("Z%dZ\n",pos); int st=0,ed=-1; for(int i=l-1,j=0;i>=0;i--,j++) { if(i==pos-1)S[++ed]='.'; S[++ed]=ans.s[i]+'0'; //printf("%d",ans.s[i]); } //putchar('\n'); while(S[st]=='0') st++; if(pos!=-1)while(S[ed]=='0') ed--; if(S[ed]=='.')ed--; if(st>ed) putchar('0'); for(int i=st;i<=ed;i++) printf("%c",S[i]); putchar('\n'); } return 0;}

 

转载于:https://www.cnblogs.com/pigba/p/8984775.html

你可能感兴趣的文章
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Webpack 2 中一些常见的优化措施
查看>>
移动端响应式
查看>>
js中var、let、const的区别
查看>>
简洁优雅地实现夜间模式
查看>>
react学习总结
查看>>
在soapui上踩过的坑
查看>>
MySQL的字符集和字符编码笔记
查看>>
ntpd同步时间
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
Apache通过mod_php5支持PHP
查看>>
java学习:jdbc连接示例
查看>>
Silverlight 如何手动打包xap
查看>>
禁用ViewState
查看>>
Android图片压缩(质量压缩和尺寸压缩)
查看>>
nilfs (a continuent snapshot file system) used with PostgreSQL
查看>>