poj1001
来源:互联网 发布:java代码漏洞扫描工具 编辑:程序博客网 时间:2024/06/08 18:21
多精度乘单精度
#include <iostream>#include <stdio.h>#include <cstring>using namespace std;int main(){ char rr[6]; int a[2000],n,r,i,j,t,k,w; // freopen("in.txt","r",stdin); //scanf("%s",rr);cin>>n; while (cin>>rr>>n) { t=1;r=0;j=1; memset(a,0,sizeof(a)); for (i=5;i>=0;i--) if (rr[i]!='.') { r+=t*(rr[i]-'0'); t*=10; a[j]=rr[i]-'0'; j++; } else k=5-i; //记录小数位数 //cout<<r<<"^"<<n<<endl;for (i=5;i>=1;i--) cout<<a[i];cout<<endl<<k; t=5; for (i=1;i<=n-1;i++) { for (j=1;j<=t;j++) a[j]*=r; for (j=1;j<=t;j++) { a[j+1]+=a[j]/10;a[j]%=10;} while (a[t+1]>0) { t++; a[t+1]+=a[t]/10; a[t]=a[t]%10; } } //for (i=t;i>=1;i--) cout<<a[i];cout<<endl; k*=n; w=1;while (a[w]==0) w++;//cout<<t<<k<<w<<endl; if (k>=t) { cout<<'.'; for (i=1;i<=k-t;i++) cout<<'0'; for (i=t;i>=w;i--) cout<<a[i]; } if (k<t) { for (i=t;i>=k+1;i--) cout<<a[i]; if (k>w-1) cout<<'.'; for (i=k;i>=w;i--) cout<<a[i]; } cout<<endl; } return 0;}
浮点大数求幂,结果的整数部分若为0,则不保留整数部分。小数部分若为0,则不保留小数部分和小数点。
0 0
- POJ1001
- poj1001
- poj1001
- POJ1001
- POJ1001
- poj1001
- POJ1001
- poj1001
- POJ1001
- POJ1001
- poj1001
- POJ1001
- POJ1001
- poj1001
- POJ1001
- POJ1001
- POJ1001
- poj1001
- 深入理解计算机--字节顺序
- Android中Context
- LeetCode (11) Number of 1 Bits
- Four Inages Strategy hdu 5206
- Leapin' Lizards (hdu 2732 最大流)
- poj1001
- aidl学习
- C语言mmap()函数:建立内存映射
- 求矩阵的局部极大值
- JUNHUANGSHIJIA
- HDFS追本溯源:HDFS操作的逻辑流程与源码解析 【SNN对fsimage和editslog文件的合并流程-------很重要】
- 使用DBTestCase子类设置数据库
- 使用CentOS 遇到的问题以及解决方法(持续更新)
- JAVA_SE基础——9.基本数据类型间的转换