程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU1701 ACMer [浮點數誤差]

HDU1701 ACMer [浮點數誤差]

編輯:C++入門知識

 

ACMer

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3536 Accepted Submission(s): 1629

Problem Description There are at least P% and at most Q% students of HDU are ACMers, now I want to know how many students HDU have at least?
Input The input contains multiple test cases.
The first line has one integer,represent the number of test cases.
The following N lines each line contains two numbers P and Q(P < Q),which accurate up to 2 decimal places.
Output For each test case, output the minumal number of students in HDU.
Sample Input
1
13.00 14.10

Sample Output
15

這題應該分類到“經典題”還是“爛題”呢?這個真的不好說,WA了2次。精度問題,精度問題。。

AC代碼:

 

 

#include 

int main(){
	int n, m; double a, b;
	scanf("%d", &n);
	while(n--){
		scanf("%lf%lf", &a, &b);
		m = 1;
		while((int)(m * a / 100) >= (int)(m * b / 100)) ++m;
		printf("%d\n", m);
	}
	return 0;
}
WA代碼:

 

 

#include 

int main(){
	int n, m; double a, b;
	scanf("%d", &n);
	while(n--){
		scanf("%lf%lf", &a, &b);
		a /= 100; b /= 100;
		m = 1;
		while((int)(m * a) >= (int)(m * b)) ++m;
		printf("%d\n", m);
	}
	return 0;
}



 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved