hdu-1063(大数)
题目链接: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(大数)的更多相关文章
- hdu 1063 Exponentiation 大数
Problem Description Problems involving the computation of exact values of very large magnitude and p ...
- hdu 1063(java写高精度)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063 思路:最近刚学了java,然后就迫不及待想试试java写大数的好处了,呵呵,果然是很方便啊! i ...
- hdu 1002大数(Java)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdu 5047 大数找规律
http://acm.hdu.edu.cn/showproblem.php?pid=5047 找规律 信kuangbin,能AC #include <stdio.h> #include & ...
- hdu 5050 大数
http://acm.hdu.edu.cn/showproblem.php?pid=5050 大数模板最大公约数 信kuangbin,能AC #include <cstdio> #incl ...
- hdu 4759 大数+找规律 ***
题目意思很简单. 就是洗牌,抽出奇数和偶数,要么奇数放前面,要么偶数放前面. 总共2^N张牌. 需要问的是,给了A X B Y 问经过若干洗牌后,第A个位置是X,第B个位置是Y 是不是可能的. Ja ...
- HDU 1018 大数(求N!的位数/相加)
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- HDU 4927 大数运算
模板很重要 #include <cstdio> #include <cstring> #include <cstdlib> #include <iostrea ...
- hdu 1063 Exponentiation (高精度小数乘法)
//大数继续,额,要吐了. Problem Description Problems involving the computation of exact values of very large m ...
- hdu 5429(大数模板)
题意:判断是否是等比数列 a[i] * a[i] = a[i+1] * a[i-1] + 部分为0 的情况 /* 表示还没学java.... ,模板来自NK_test #include &l ...
随机推荐
- springVC + logback
为什么用logback,而不是log4j? springmvc log只输出到console,不输出到文件 Spring MVC集成slf4j-logback springMVC如何配置logback ...
- 机器学习入门-随机森林预测温度-不同参数对结果的影响调参 1.RandomedSearchCV(随机参数组的选择) 2.GridSearchCV(网格参数搜索) 3.pprint(顺序打印) 4.rf.get_params(获得当前的输入参数)
使用了RamdomedSearchCV迭代100次,从参数组里面选择出当前最佳的参数组合 在RamdomedSearchCV的基础上,使用GridSearchCV在上面最佳参数的周围选择一些合适的参数 ...
- fb 发布桌面应用图标
1.以src文件夹为根目录,即图标放在src文件内 2.修改app.xml文件icon,按尺寸填入,如下图 同时可修改app应用的名字,接受中文,如下图红色涂鸦: 导出发行版的时候,注意打包内容有么有 ...
- Others-接口集成方式
1. 异步通信方式可分为不互锁.半互锁和全互锁三种类型: a.不互锁方式 主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间.确认从模块已收到请求信号后,便撤消其请求信号:从设备接到请 ...
- .Net 常用开发工具
,net常用开发工具 LinqPad使用 LinqPad连接Oracle 使用 LINQPad 将linq转换为 lambda表达式 或者 SQL语句 LINQPad 4 初次使用心得 一.双击 二. ...
- vue 解决报错1
[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available ...
- Delphi WebBrowser 无法调用当前浏览器的版本 --转
出自:http://blog.csdn.net/wensibo/article/details/25971863 procedure TregedtIE.FormCreate(Sender: TObj ...
- Gearman安装及使用
基础安装包 yum install vim wget gcc gcc-c++ make dos2unix gperf libevent libevent-devel zlib-devel bzip2- ...
- Linux安装初始化
鸟哥的Linux 私房菜 Linux常用命令大全 http://www.cnblogs.com/yjd_hycf_space/p/7730690.html 安装看锋哥教程 可能最后网卡出错 ...
- Haskell语言学习笔记(56)Lens(3)
手动计算(view, over, set, to, _1) view l = getConst . l Const over l f = runIdentity . l (Identity . f) ...