题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063

思路:1、大数乘法模板

2、考虑小数点的位置

3、乘法前后判断前后道0

参考文章:https://blog.csdn.net/z8110/article/details/50167049

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[],b[],c[];
char s[]; void f(int a[])
{
int i,j,k;
memset(c,,sizeof(c));
for(i=;i<;i++)
{
for(j=;j<;j++)
c[i+j]+=a[i]*b[j];
} for(i=;i<;i++)
{
if(c[i]>=) c[i+]+=c[i]/;
c[i]%=;
}
for(i=;i<;i++)
{
b[i]=c[i];
}
} int main(void)
{
int i,j,cnt,p1,p2,n;
while(~scanf("%s%d",s,&n))
{
//初始化
int l=strlen(s);
memset(b,,sizeof(b));
memset(c,,sizeof(c));
cnt=;
for(i=l-;i>=;i--)
if(s[i]=='.') cnt=l--i; // 判断小数点位置
//判断是否是小数
p1=;
for(i=l-;i>=;i--) //判断后导零
if(s[i]!='') break;
if(s[i]=='.') p1=;
for(i=l-;i>=;i--)
{
if(s[i]=='.') break;
}
if(i==-) p1=; //乘法计算
b[]=;
for(j=,i=l-;i>=;i--)
if(s[i]>=''&&s[i]<='') a[j++]=s[i]-'';
for(i=;i<n;i++)
f(a); //输出
for(i=;i>=cnt*n;i--)
if(b[i]) break;
for(;i>=cnt*n;i--)
printf("%d",b[i]);
if(p1==)
printf("."); //输出小数点
for(;i>=;i--) //判断,保证不输出前导零
{
p2=;
for(j=i;j>=;j--)
{
if(b[j])
{
p2=;
break;
}
}
if(p2) printf("%d",b[i]);
}
printf("\n");
}
return ;
}

hdu-1063(大数)的更多相关文章

  1. hdu 1063 Exponentiation 大数

    Problem Description Problems involving the computation of exact values of very large magnitude and p ...

  2. hdu 1063(java写高精度)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063 思路:最近刚学了java,然后就迫不及待想试试java写大数的好处了,呵呵,果然是很方便啊! i ...

  3. hdu 1002大数(Java)

    A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. hdu 5047 大数找规律

    http://acm.hdu.edu.cn/showproblem.php?pid=5047 找规律 信kuangbin,能AC #include <stdio.h> #include & ...

  5. hdu 5050 大数

    http://acm.hdu.edu.cn/showproblem.php?pid=5050 大数模板最大公约数 信kuangbin,能AC #include <cstdio> #incl ...

  6. hdu 4759 大数+找规律 ***

    题目意思很简单. 就是洗牌,抽出奇数和偶数,要么奇数放前面,要么偶数放前面. 总共2^N张牌. 需要问的是,给了A X B Y  问经过若干洗牌后,第A个位置是X,第B个位置是Y 是不是可能的. Ja ...

  7. HDU 1018 大数(求N!的位数/相加)

    Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  8. HDU 4927 大数运算

    模板很重要 #include <cstdio> #include <cstring> #include <cstdlib> #include <iostrea ...

  9. hdu 1063 Exponentiation (高精度小数乘法)

    //大数继续,额,要吐了. Problem Description Problems involving the computation of exact values of very large m ...

  10. hdu 5429(大数模板)

    题意:判断是否是等比数列 a[i] * a[i] = a[i+1] * a[i-1]   +   部分为0 的情况 /*  表示还没学java.... ,模板来自NK_test #include &l ...

随机推荐

  1. mysql的时区错误的解决办法

    十二月 02, 2018 9:16:19 下午 com.mchange.v2.resourcepool.BasicResourcePool 警告: Having failed to acquire a ...

  2. 反射(hasattr , getattr, setattr) 输入的字符串用来运行程序

    当用户输入字符串时,不能够用来运行程序 1.使用 hasattr 找出输入的字符串是否在程序内 2.使用 getattr 返回找出字符串对应的函数的内存地址或者变量 3. 使用setattr 添加新的 ...

  3. Egret 工具推荐

    Egret 工具推荐--打造最好的开发环境--IDE篇http://bbs.egret.com/forum.php?mod=viewthread&tid=13581&fromuid=1 ...

  4. mysql trigger 设置错误ERROR1419

    mysql 触发器设置 background: mysql触发器可以在对数据库数据进行变更(插入,修改,删除)之前或之后触发操作. 在设置mysql触发器时提示: ERROR 1419 (HY000) ...

  5. Data Guard 介绍

  6. linux——DNS服务器配置

    讲课,请不要在课堂上查找文件,浏览器搜索,会感觉你很不上心,玩听众,一定提前做很多遍,模拟很多遍: 演讲,请务必准备好材料,考虑听众的感受,一定不要让外行人云里雾里,听不懂你在讲什么,那就尴尬了, D ...

  7. 软件工程导论九月26号Homework

    习题3 (1)数据流图 (2)实体关系图ER 习题6

  8. Containerpilot 配置文件 之 consul

    Consul ContainerPilot使用Hashicorp的consul在作为服务的容器中注册工作. Watches查询consul找出其他服务的状态. Client configuration ...

  9. pymongo CursorNotFound错误

    部分报错如下: File "D:\anaconda\lib\site-packages\pymongo\cursor.py", line 1189, in next if len( ...

  10. Windows平台下Flutter安装,配置,初运行。

    Flutter是什么?他是谷歌根据Dark语言开源的跨平台开发依赖.和目前比较火的Reactive Native一样,一套代码能够实现两个不同平台的App.那么为什么要介绍Flutter而不是在国内大 ...