#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. Python 注释和中文乱码

    Python 注释分为三种: 1.单行注释:# 2.多行注释:前后3个单引号,或者三个双引号: 如:''' 多行注释 ''', """或者 多行注释 '"&qu ...

  2. mysql自定义函数语法

    创建函数 DELIMITER $$DROP FUNCTION IF EXISTS `test` $$CREATE FUNCTION `test`(a int ,b int)RETURNS int BE ...

  3. 大话设计模式--抽象工厂模式 Abstract Factory -- C++实现实例

    1. 抽象工厂模式: 提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类. 下面是工厂方法模式: 下面是抽象工厂模式: 和工厂方法模式相比 抽象工厂模式可以有多个Product抽象, ...

  4. Jquery Uploadify多文件上传实例

    jQuery Uploadify开发使用的语言是java. 详细的相关文档,可以参考官网的doc:http://www.uploadify.com/documentation/ 官网的讲解还是很详细的 ...

  5. jsp的9个内置对象

    Jsp提供了request.response.session.application.out.page.config.exception.pageContext9个内置对象. 1. Request R ...

  6. 分享知识-快乐自己:大数据(hadoop)环境搭建

    大数据 hadoop 环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce ...

  7. JavaUtil_09_email_使用 commons-email 发送邮件

    二.参考资料 1.[commons]邮件发送工具——commons-email

  8. Hexo 版本

    Mac hexo s 启动Hexo服务报错如下: Error: The module '/usr/local/lib/node_modules/hexo-cli/node_modules/.0.8.0 ...

  9. bzoj 2732: [HNOI2012]射箭 半平面交

    题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=2732 题解: 这道题的做法我不想说什么了... 其他题解都有说做法... 即使是我上午做 ...

  10. Codeforces Round #402 (Div. 2) 阵亡记

    好长时间没有打Codeforces了,今天被ysf拉过去打了一场. lrd也来参(nian)加(ya)比(zhong)赛(sheng) Problem A: 我去,这不SB题吗.. 用桶统计一下每个数 ...