#include<iostream>
#include<string>
using namespace std; struct BigReal //高精度实数
{
int
len; //长度
int num[];
int
point; //小数点位置
BigReal()
{

len=;
point=;
memset(num,,sizeof(num));
}
};
bool Read(BigReal& a) //读入一个大实数
{
string s;
int
t,i; if(cin>>s)
{

a.len=s.size();
a.point=;
t=;
for
(i=s.size()-;i>=;i--)
{

if
(s[i]=='.')
{

a.len--;
a.point=t;
continue
;
}

a.num[t++]=s[i]-'0';
}

return
true;
}

else
return
false;
}
void Show(BigReal& a)
{

int
i,pos; for(i=;i<a.point && a.num[i]==;i++) ;
pos=i;
if
(a.point==a.len)
{

if
(pos==a.point)
{

cout<<<<endl; //0.0000000的情况
return ;
}

else

cout<<'.'; //0.121313114的情况
}
for
(i=a.len-;i>=;i--)
{

cout<<a.num[i];
if
(i==pos) break; //小数时后导零不输出
if(i==a.point) cout<<'.';
}

cout<<endl;
}
BigReal Mul(const BigReal& a,const BigReal& b)
{

int
i,j,len=;
BigReal c; for(i=;i<a.len;i++)
for
(j=;j<b.len;j++)
{

c.num[i+j]+=a.num[i]*b.num[j];
if
(c.num[i+j]>=)
{

c.num[i+j+]+=c.num[i+j]/;
c.num[i+j]%=;
}
}

c.point=a.point+b.point;
len=a.len+b.len;
while
(c.num[len-]== && len>&&len>c.point) len--; //处理长度,去掉前导零
if(c.num[len]) len++;
c.len=len;
return
c;
}
int main()
{

BigReal a;
int
b; while(Read(a)&& scanf("%d",&b)==)
{

BigReal ans;
ans.num[]=;
while
(b--)
ans=Mul(ans,a);
Show(ans);
}

return
;
}

hdu1063的更多相关文章

  1. HDU1063 大数 java

    Exponentiation Time Limit: 2000/500 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  2. Java大数相乘-hdu1063

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063 题目描述: 代码实现: import java.util.Scanner; import jav ...

  3. ( 大数 startsWith substring) Exponentiation hdu1063

    Exponentiation Time Limit: 2000/500 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  4. hdu-1063(大数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063 思路:1.大数乘法模板 2.考虑小数点的位置 3.乘法前后判断前后道0 参考文章:https:/ ...

  5. ACM训练计划建议(写给本校acmer,欢迎围观和指正)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

  6. java中大数的一些基本运算

    import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(S ...

  7. ACM训练计划建议(转)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

  8. UVA+POJ中大数实现的题目,持续更新(JAVA实现)

    UVA10494:If We Were a Child Again 大数除法加取余 import java.util.Arrays; import java.util.Scanner; import ...

  9. 大数问题,通常用JAVA

    e.g. HDU1002 简单加法 import java.math.BigInteger; import java.util.Scanner; public class Main { public ...

随机推荐

  1. 算法(Algorithms)第4版 练习 1.3.3

    (a) 4 3 2 1 0 9 8 7 6 5 (b) 4 6 8 7 5 3 2 9 0 1 (c) 2 5 6 7 4 8 9 3 1 0 (d) 4 3 2 1 0 5 6 7 8 9 (e) ...

  2. matlab之viscircles()函数

    函数功能:画圆 语法: viscircles(centers,radii) viscircles(ax,centers,radii) viscircles(___,Name,Value) h = vi ...

  3. Jquery + css 日期控件用法实例.zip

    /*==============================================================================** Filename:common.j ...

  4. 程序以html形式发送邮件注意问题

    1.样式要写在内部,不要单独定义样式 2.div 使用背景图片在有些浏览器中出不来这时候需要用: <table style="width: 640px" cellpaddin ...

  5. unity3D中一些有用的设置

    edit-project setting-time:可以设置fixed update()每一帧执行的时间 timescale:时间流动速度,设置为0则运用了time.deltatime的动画计时器均停 ...

  6. 分享知识-快乐自己:Nginx概述及如何使用

    概述: 什么是 Nginx? Nginx (engine x) 是一款轻量级的 Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器. 什么是反向代理? 反向代理(Reverse ...

  7. Eclipse_插件_01_tomcat插件的安装

    1.Eclipse的tomcat插件下载地址: (1)https://sourceforge.net/projects/tomcatplugin/files/updatesite/plugins/ ( ...

  8. STL defalloc.h

    defalloc.h . // Filename: defalloc.h . . // Comment By: 凝霜 . // E-mail: mdl2009@vip.qq.com . // Blog ...

  9. 【二叉树的递归】07路径组成数字的和【Sum Root to Leaf Numbers】

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 给定一个二叉树,节点的值仅限于从0 ...

  10. Qt Create 4.6.2无法自动生成Android Kit

    开发环境: OS,Microsoft Windows [Version 10.0.17134.523] Qt,5.11.1 Qt Creator,4.6.2 JDK,1.8.0_181 Android ...