1. #include <iostream>
  2. #include<iomanip>
  3. #include<cstring>
  4. using namespace std;
  5. int s;
  6. void chen(char a[],char b[])//a=a*b
  7. { int i,j,k,l,sum,c[]={};
  8. l=strlen(a)+strlen(b);
  9. for(i=strlen(b)-;i>=;i--)
  10. for(j=strlen(a)-,k=i+j+;j>=;j--,k--)
  11. { sum=(b[i]-'')*(a[j]-'')+c[k];
  12. c[k]=sum%;c[k-]+=sum/;
  13. }
  14. for(i=c[]?:,j=;i<l;i++)
  15. a[j++]=(c[i]+''); a[j]=;
  16. }
  17. void quw0(char a[]) //去除尾部多余的零
  18. { int i=strlen(a)-;
  19. while(a[i]=='') {a[i]=;i--;}
  20. }
  21.  
  22. void jilu(char a[])
  23. { int i,t;
  24. for(i=;i<strlen(a);i++) //判断有没有小数点
  25. if(a[i]=='.') break;
  26. if(i!=strlen(a)) //有小数点
  27. {
  28. for(i=strlen(a)-,s=;i>=;i--)// s记录小数位数
  29. if(a[i]!='.') s++;
  30. else break;
  31. if(a[i=]=='') // 0.0123变成123
  32. { for(i=;i<strlen(a);i++)
  33. if(a[i]!='') {strcpy(a,&a[i]);break;}
  34. }
  35. else //将1.4321 变成14321
  36. { for(t=,i=;i<strlen(a)-;i++)
  37. { if(a[i]=='.') t=;
  38. if(t) a[i]=a[i+];
  39. }
  40. a[i]=;
  41. }
  42. }
  43.  
  44. }
  45.  
  46. void show(char a[])
  47. { int i;
  48. if(s>=strlen(a)) cout<<'.'<<setfill('')<<setw(s)<<a<<endl;// 前面补零
  49. else //不用补零,直接加入小数点输出
  50. {for(i=;i<strlen(a);i++)
  51. if(strlen(a)-s==i) {cout<<'.'<<&a[i]; break;}
  52. else cout<<a[i];
  53. cout<<endl;
  54. }
  55.  
  56. }
  57.  
  58. int main()
  59. {
  60. int n; char b[],a[];
  61. while(cin>>b>>n)
  62. { if(n==) {cout<<<<endl;continue;}
  63. s=;
  64. quw0(b);
  65. jilu(b);
  66. strcpy(a,b);
  67. for(int i=;i<=n;i++)
  68. chen(a,b);
  69. s*=n; //结果的小数位数
  70. show(a);
  71. }
  72. return ;
  73. }

poj1001的更多相关文章

  1. 高精度POJ1001

    今天看到这道题了 poj1001 题目地址是http://bailian.openjudge.cn/practice/1001/ 英文看得懂,可是算法不明白,所以转别人的文章,留着给学生看看:乔高建( ...

  2. POJ-1001 Exponentiation 高精度算法

    题目链接:https://cn.vjudge.net/problem/POJ-1001 以前写过一个高精度乘法,但是没有小数点,实现起来也没什么难得, 现在把代码都般过来,等会把旧电脑弄一弄,暂时就不 ...

  3. poj1001 Exponentiation 大数的幂

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

  4. 【poj1001】 Exponentiation

    http://poj.org/problem?id=1001 (题目链接) 题意 求实数R的n次方,要求高精度. Solution SB题Wa了一下午,直接蒯题解. 高精度,小数点以及去前导后导零很麻 ...

  5. 北大poj-1001

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

  6. poj1001 Exponentiation

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

  7. C# 高精度求幂 poj1001

    高精度求幂 public static char[] exponentiation(string a,int r) { ]; string b = ""; string c = a ...

  8. poj1001(高精度)

                                                               Exponentiation Time Limit: 500MS   Memory ...

  9. poj1001求幂

    这道题目是实质上就是高精度的乘法,虽然是带小数点的数多少次幂,但是开始我们需要将它变为整数进行求幂,然后再加上小数点,然后要考虑前导0,有效数位问题,做的时候要十分的小心 #include<io ...

随机推荐

  1. 微信小程序开发之搞懂flex布局4——Main Axis

    Main Axis——主轴 当flex-direction设置为row或row-reverse时,主轴的方向为水平方向.此时flex item为行内级元素. 当flex-direction设置为col ...

  2. Eclipse neon 4.6 安装tomcat

    问题: Eclipse neon 4.6并没有内置Tomcat,所以当我产生想要导入.war,并部署到服务器时,会看到创建服务处是下面的情况: 也就是说,没有tomcat服务可以选择:为此我需配置To ...

  3. mysql中gbk_chinese_ci与gbk_bin区别

    如果在query browser中选create new table在字符集的选择中collation栏有两个选择gbk_chinese_ci与gbk_bin gbk_bin是二进制存储.区分大小写的 ...

  4. python编程之如何在Windows上安装python

    一.安装python 首先检查你的系统里是否安装了python,开始菜单里点击运行输入cmd打开一个命令窗口,或键盘快捷键windows+R打开,在窗口中输入python并回车,如果出现了Python ...

  5. alfred3配置

    搜索功能配置 github https://github.com/search?utf8=%E2%9C%93&q={query} github'{query}' g baidu http:// ...

  6. python 单例模式的四种实现方法及注意事项

    一.模块单例 Python 的模块就是天然的单例模式,因为模块在第一次导入时,会生成 .pyc 文件,当第二次导入时,就会直接加载 .pyc 文件,而不会再次执行模块代码. #foo1.py clas ...

  7. pom.xml文件模板、application文件模板、configuration逆向生成文件、

    pom: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http:// ...

  8. centos jdk 配置及版本切换

    一. 环境变量: /etc/profile JAVA_HOME=/usr/lib/jdk1.8.0_91JRE_HOME=/usr/lib/jdk1.8.0_91/jreCLASS_PATH=.:$J ...

  9. OC字典的使用

    在OC中,字符串.数组.字典是最常见的对象类型,但是在这三个当中,字典的用法相对较少,因为字典的属性和方法比较少,但是一个字典的用法比较复杂,因为在一个字典当中,既可以包含字符串,也可以包含数组,数组 ...

  10. IDEA添加项目为library

    1.如果要作为library的项目没有被IDEA编译就先把项目放在IDEA里面编译一下,因为这样后面导入module会方便一点.下面直接附上步骤 2.假设你已经用IDEA编译好了作为library的项 ...