这题的话思路挺简单的,主要是打一个高精乘,然后考虑一些细节的东西

码得挺少时间的,但是调错调了很久...

讲一下思路吧:

就是读入的时候,先把小数点去掉,mark一下小数点的位置

去掉小数点之后也就进行高精乘法即可,去掉前导零

之后计算一下小数点的位置

再去掉小数点后多余的零

以及特判k=1的情况,直接输出答案

细节的地方主要就是在模拟上吧,

我WA了几次:

1.当小数点后面没有数字的时候,当然不需要输出小数点...这个没有考虑进去

2.没有特判k=1的情况,因为答案是放在c数组里,所以当k=1的时候,没有答案

3.数组开小了....

附上代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
char s[201];
int n,m;
int l,mark;
bool f;
int a[100050],b[101],c[100001];
void into(){
l=strlen(s);
int i=1;
f=true;
while(i<=l){
if(s[i]=='.' && f){
mark=i;
f=false;
}
else{
a[i]=s[l-i]-'0';
i++;
}
}
mark=l-mark;
l=i-1;
for(int j=mark;j<l;j++) a[j]=a[j+1];
for(int j=1;j<=l;j++){
b[j]=a[j];
}
}
int main(){
freopen("input.txt","r",stdin);freopen("output.txt","w",stdout);
//freopen("data.txt","r",stdin);
while(cin>>s>>n){
if(n==1){
cout<<s<<"\n";
continue;
}
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
mark=0;
into();
l-=1;
int bl=l;
int sum=mark-1;
for(int k=2;k<=n;k++){
memset(c,0,sizeof(c));
for(int i=1;i<=l;i++)
for(int j=1;j<=bl;j++){
c[i+j-1]+=(a[i]*b[j]);
c[i+j]+=(c[i+j-1]/10);
c[i+j-1]%=10;
}
l+=bl;
l++;
mark=sum*k;
while(l>1 && !c[l] && l>mark) l--;
for(int i=1;i<=l;i++) a[i]=c[i];
}
for(int i=l;i>mark;i--){
printf("%d",c[i]);
}
int t=1;
for(int i=1;i<=mark;i++){
if(c[i]==0){
t++;
}
else break;
}
if(t-1==mark){
cout<<"\n";
continue;
}
else{
cout<<".";
for(int i=mark;i>=t;i--){
printf("%d",c[i]);
}
cout<<"\n";
} }
fclose(stdin);
fclose(stdout);
return 0;
}

vj1010:高精乘+细心模拟的更多相关文章

  1. 「NOIP模拟赛」数位和乘积(dp,高精)

    统计方案数,要么组合数,要么递推(dp)了. 这是有模拟赛历史以来爆炸最狠的一次 T1写了正解,也想到开long long,但是开错了地方然后数组开大了结果100->0 T3看错题本来简单模拟又 ...

  2. jzoj6005. 【PKUWC2019模拟2019.1.17】数学 (生成函数+FFT+抽代+高精)

    题面 题解 幸好咱不是在晚上做的否则咱就不用睡觉了--都什么年代了居然还会出高精的题-- 先考虑如果暴力怎么做,令\(G(x)\)为\(F(n,k)\)的生成函数,那么不难发现\[G^R(x)=\pr ...

  3. Day3:T1数论+高精 T2搜索

    T1:数论+高精(水~) 根据题意可知,从除的数越大越好(在0~9中) 所以我们只要用到高精除然后再模拟一下就可以了 //MARK:但是要注意0-9这个特殊值需要特判,因为题目要求输出的数至少是两位数 ...

  4. 题解 P1601 【A+B Problem(高精)】

    P1601 A+B Problem(高精) 题目描述 高精度加法,x相当于a+b problem,b不用考虑负数. 输入输出格式 输入格式: 分两行输入a,b<=10^500 输出格式: 输出只 ...

  5. 洛谷1601 A+B Problem(高精) 解题报告

    洛谷1601 A+B Problem(高精) 本题地址:http://www.luogu.org/problem/show?pid=1601 题目背景 无 题目描述 高精度加法,x相当于a+b pro ...

  6. WEB 三维引擎在高精地图数据生产的探索和实践

    1. 前言 高精地图(High Definition Map)作为自动驾驶安全性不可或缺的一部分,能有效强化自动驾驶的感知能力和决策能力,提升自动驾驶的等级.对于自动驾驶来说,高精地图主要是给机器用的 ...

  7. Linux 高精確的時序(sleep, usleep,nanosleep) from:http://blog.sina.com.cn/s/blog_533ab41c0100htae.html

    Linux 高精確的時序(sleep, usleep,nanosleep) (2010-04-14 17:18:26) 转载▼ 标签: 杂谈 分类: linux 首先, 我会说不保证你在使用者模式 ( ...

  8. c++ 普通高精除高精

    //codevs3118 高精度练习之除法 //打出了高精除高精,内心有点小激动. //还记得已开始学的时候非常难打 #include<cstdio>#include<cstring ...

  9. c++普通高精加

    //作为一名蒟蒻,还请诸位不要吐槽. //第一次打c++高精加,内心有点小激动. //为codevs3116 高精度练习之加法 //程序太简单,就不打注释了. #include<cstdio&g ...

随机推荐

  1. View中选择的数据行中的部分数据传入到Controller中

    将View中选择的数据行中的部分数据传入到Controller中   ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NE ...

  2. SSIS从理论到实战,再到应用

    原文:SSIS从理论到实战,再到应用 一,是什么(What?) 1.SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包 ...

  3. ftp server来源分析20140602

    ftp  server学习位和源代码分析片 记录自己的第一个开源的分析过程: 从源代码:野狐灯(我接下来的几篇文章是从源头:野狐灯,每个以下哪项不是他们设置.) 20140602 Ftp的源码目录例如 ...

  4. linux_常用压缩,解压缩命令

    01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩! ...

  5. HDU 4107 线段树

    给出N个节点,M次操作,和p 每次操作 对l-r区间的每一个节点+c,若节点值>=p,则加2*c: 结点存当前区间伤害最小值,最大值,以及lazy操作.更新到假设最小值大于等于P,或者最大值小于 ...

  6. mysql_navicat_快捷键

    快捷键能节省很多时间,之前一直研究oracle,plsql有自定义自动补全, 比如 sf 直接回车 可以出现 select * from 等等(参照http://www.cnblogs.com/cph ...

  7. [LeetCode] 033. Search in Rotated Sorted Array (Hard) (C++)

    指数:[LeetCode] Leetcode 解决问题的指数 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 033. ...

  8. HBase文件格式演变之路

    Apache HBase是Hadoop的分布式开源的存储管理工具,很适合随机实时的io操作. 我们知道,Hadoop的Sequence File是一个顺序读写,批量处理的系统.可是为什么HBase能做 ...

  9. js 里面 写 C# 代码 遇到的问题

    js  代码块 必须放置在 body 里面

  10. C# 如何生成CHM帮助文件

    原文:C# 如何生成CHM帮助文件 前一段时间应公司要求,让我开发一个数据库字段信息CHM帮助文件生成软件.结果当时我就二了,这个东西我只用过,不知道咋做啊.没想到老大很随意说一句:"没事, ...