#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. mysql 触发器(trigger) 总结

    触发器(trigger):监视某种情况,并触发某种操作. 触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/befo ...

  2. 使用MapReduce将HDFS数据导入Mysql

    使用MapReduce将Mysql数据导入HDFS代码链接 将HDFS数据导入Mysql,代码示例 package com.zhen.mysqlToHDFS; import java.io.DataI ...

  3. Hadoop切换namenode为active

    hadoop切换namenode为active 进入hadoop/bin目录下 ./yarn rmadmin -transitionToActive --forcemanual rm1 重新启动zkf ...

  4. 【转载】Dom4j的使用(全而好的文章)

    Dom4j的使用(全而好的文章) Dom4j 使用简介 作者:冰云 icecloud(AT)sina.com 时间:2003.12.15   版权声明: 本文由冰云完成,首发于CSDN,未经许可,不得 ...

  5. Spring Boot- 用idea新建spring boot web项目

    1.新建project 2.选择Spring Initializr,next 3.输入项目信息,next 4.选择web依赖以及Spring Boot的版本,next 5.Finish 6.Enabl ...

  6. 负载均衡之IP

    文章出自:http://blog.csdn.net/cywosp/article/details/38036537       首先让我们来看看下面这张大家都非常熟悉的TCP/IP协议族的分层图:   ...

  7. 关于unity3D的GL图像库的使用

    GL图象库 GL图象库是底层的图象库,主要功能是使用程序来绘制常见的2D与3D几何图形.这些图形具有一定的特殊性,他们不属于3D网格图形,只会以面的形式渲染.使用GL图象库,可在屏幕中绘制2D几何图形 ...

  8. SQL Server convet函数data_type默认长度

    语法 CONVERT(data_type(length),data_to_be_converted,style) data_type(length) 规定目标数据类型(带有可选的长度),默认30个字符 ...

  9. Spring源码分析_01_ idea搭建spring源码阅读环境

    二.参考资料 1.Intellij Idea如何导入spring源码

  10. 批量处理JDBC语句提高处理速度

    当需要成批插入或者更新记录时.可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理.通常情况下比单独提交处理更有效率 JDBC的批量处理语句包括下面两个方法: –      ...