题目链接: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. springVC + logback

    为什么用logback,而不是log4j? springmvc log只输出到console,不输出到文件 Spring MVC集成slf4j-logback springMVC如何配置logback ...

  2. 机器学习入门-随机森林预测温度-不同参数对结果的影响调参 1.RandomedSearchCV(随机参数组的选择) 2.GridSearchCV(网格参数搜索) 3.pprint(顺序打印) 4.rf.get_params(获得当前的输入参数)

    使用了RamdomedSearchCV迭代100次,从参数组里面选择出当前最佳的参数组合 在RamdomedSearchCV的基础上,使用GridSearchCV在上面最佳参数的周围选择一些合适的参数 ...

  3. fb 发布桌面应用图标

    1.以src文件夹为根目录,即图标放在src文件内 2.修改app.xml文件icon,按尺寸填入,如下图 同时可修改app应用的名字,接受中文,如下图红色涂鸦: 导出发行版的时候,注意打包内容有么有 ...

  4. Others-接口集成方式

    1. 异步通信方式可分为不互锁.半互锁和全互锁三种类型: a.不互锁方式 主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间.确认从模块已收到请求信号后,便撤消其请求信号:从设备接到请 ...

  5. .Net 常用开发工具

    ,net常用开发工具 LinqPad使用 LinqPad连接Oracle 使用 LINQPad 将linq转换为 lambda表达式 或者 SQL语句 LINQPad 4 初次使用心得 一.双击 二. ...

  6. vue 解决报错1

    [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available ...

  7. Delphi WebBrowser 无法调用当前浏览器的版本 --转

    出自:http://blog.csdn.net/wensibo/article/details/25971863 procedure TregedtIE.FormCreate(Sender: TObj ...

  8. Gearman安装及使用

    基础安装包 yum install vim wget gcc gcc-c++ make dos2unix gperf libevent libevent-devel zlib-devel bzip2- ...

  9. Linux安装初始化

    鸟哥的Linux 私房菜 Linux常用命令大全     http://www.cnblogs.com/yjd_hycf_space/p/7730690.html 安装看锋哥教程   可能最后网卡出错 ...

  10. Haskell语言学习笔记(56)Lens(3)

    手动计算(view, over, set, to, _1) view l = getConst . l Const over l f = runIdentity . l (Identity . f) ...