Ty G Too 計蒜客(小數精度問題)

2021-10-03 19:45:28 字數 882 閱讀 9956

很簡單的題,但是學到些東西。

小數型別在系統儲存時不是整的

例如:0.555 在實際儲存中是0.55499999999999…無限趨近於0.555

printf("%.1f",0.555); 值為0.6 自動四捨五入,但是

printf("%.2f",0.555); 值為0.55 因為在儲存時 第三位小數是4,故不會進1

所以說,%.2f 在嚴格意義上是不同於四捨五入的。

在有些題目要求四捨五入時需要另外的方式,如下:

如將x=102.255四捨五入保留兩位

int kx=x100+0.51;

double ans=kx1.0/100;

得到結果 102.26

而如果直接 %.2f 則得到結果102.25 答案錯誤。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define db double

#define f(n) for(int i=1;i<=n;i++)

using

namespace std;

const

int mx=

2e3+

10,inf=

1e9+10;

const db pi=

3.14159

;int

main()

return0;

}

計蒜客 加一(高精度問題)

陣列內存放了一些個位數字,組成乙個大數 從高位到低位 現在將這個數加 1 1,並輸出加一以後的結果。例如 a 2,3,1,1,4 a 2,3 1,1 4 則結果為 2,3,1,1,5 2 3,1 1,5 a 7,8,9 a 7,8 9 則結果為 7,9,0 7 9,0 第一行輸入乙個正整數 n 1 ...

計蒜客 「救援」 問題

救生船從大本營出發,營救若干屋頂上的人回到大本營,屋頂數目以及每個屋頂的座標和人數都將由輸入決定,求出所有人都到達大本營並登陸所用的時間。在直角座標系的原點是大本營,救生船每次從大本營出發,救了人之後將人送回大本營。座標系中的點代表屋頂,每個屋頂由其位置座標和其上的人數表示。救生船每次從大本營出發,...

計蒜客 跳躍問題

給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 能夠跳躍到最後乙個下標,輸出true a 3,2,1,0,4 不能跳躍到最後乙個下標,輸出false。輸入格式 第一行輸...