UVA 147 dollars (背包方案数 )(浮点数问题)
来源:互联网 发布:皇冠淘宝店铺转让价格 编辑:程序博客网 时间:2024/06/05 14:18
求背包问题的方案数, 把两位小数 *100 转化成为 了背包问题, 就在这个*100的过程中出现了问题,
double p=2.05; int k=(int )( p*100) ; 输出K 结果却是 204
#define eps 0.0000001
int k=(int) (( p+eps)*100) 这时候结果就正确了。 精度是一个值得注意的问题。。
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#define PI acos(-1.0)#define max(a,b) (a)>(b)? (a):(b)#define min(a,b) (a)>(b)? (b):(a)#define INT_MIN -0x7FFFFFFF#define INT_MAX 0x7FFFFFFFint mon[20]={5,10,20,50,100,200,500,1000,2000,5000,10000};long long dp[30005];double p;int v;int main(){ int i,j,k; while(scanf("%lf",&p),p>0) { v=(int )((p+0.000001)*100);//notice this ~~! memset(dp,0,sizeof(dp)); dp[0]=1; for(i=0;i<=10;i++) { for(j=mon[i];j<=v;j++) { dp[j]+=dp[j-mon[i]]; } } printf("%6.2lf%17lld\n",p,dp[v]); } return 0;}
- UVA 147 dollars (背包方案数 )(浮点数问题)
- uva 147 - Dollars 钱币兑换问题(浮点数) 精度问题 完全背包
- UVA 147 Dollars ( 完全背包+求解方案数精度问题)
- uva 147 Dollars(完全背包)
- UVa 147 Dollars(DP完全背包)
- UVa 147 Dollars(DP完全背包)
- UVA - 147 Dollars(完全背包)
- UVA 147 Dollars(完全背包)
- UVA 147 Dollars (完全背包)
- UVA 147 Dollars(完全背包)
- 背包问题的方案数(01)
- UVa 147 - Dollars 背包
- uva147 Dollars(完全背包方案)
- uva 147 - Dollars(动态规划--完全背包)
- hdu 2955 01 背包(浮点数)
- 题解:浮点数(UVa 11809)
- Uva 147 Dollars 完全背包
- Uva 147 Dollars 完全背包
- js实现动态获取系统时间,显示到页面上
- HDU 4508 (13.07.31)
- Corr-LDA
- PHP页面编码问题
- QJsonArray Class
- UVA 147 dollars (背包方案数 )(浮点数问题)
- MapInfo数据交换文件格式浅探
- Java加密解密 -Jasypt
- javaWeb笔记--手写Servlet
- C++中友元详解
- 全排序算法的实现
- MapInfo TAB & MIF 文件说明
- cocos2d-x创建新项目模板
- 太白山可真雄伟的shooow