簡單浮點數除法模擬 hdu 4493 Tutor

2021-06-18 01:52:15 字數 1219 閱讀 7221

題目意思:

給小數點後兩位的12個月的工資,求出平均工資,輸出離小數點後第二位最近的兩位小數,尾部零不輸出。

解題思路:

這題一開始先除以12的話,有精度損失(比如都是12.4449999999999,結果算出來是12.45,應該是12.44),所以先模擬除以12,得到小數點後的第三位數,大於等於5第二位就進製,否則捨掉。

用a[0]表示12個月收入和的整數部分,a[1]表示第一位小數,a[2]表示第二位小數。然後模擬高精度除法,求出除以12後的第三位小數。

**:

#include#include#include#include#include#include#include#include#include#include#include#include#include#define eps 1e-6

#define inf 0x1f1f1f1f

#define pi acos(-1.0)

#define ll __int64

#define lson l,m,(rt<<1)

#define rson m+1,r,(rt<<1)|1

#pragma comment(linker, "/stack:1024000000,1024000000")

using namespace std;

//freopen("data.in","r",stdin);

//freopen("data.out","w",stdout);

int ans[4],a[3];

int main()

ans[3]=la*10/12;

if(ans[3]>=5)//進製}}

printf("$%d",ans[0]);

if(ans[1]) //去掉尾部0

else if(ans[2]) //注意.0幾

printf(".%d%d",ans[1],ans[2]);

putchar('\n');

}return 0;}/*

1.4449999

1.4449999

1.4449999

1.4449999

1.4449999

1.4449999

1.4449999

1.4449999

1.4449999

1.4449999

1.4449999

1.4449999

*/

簡單浮點數除法模擬 hdu 4493 Tutor

題目意思 給小數點後兩位的12個月的工資,求出平均工資,輸出離小數點後第二位最近的兩位小數,尾部零不輸出。解題思路 這題一開始先除以12的話,有精度損失 比如都是12.4449999999999,結果算出來是12.45,應該是12.44 所以先模擬除以12,得到小數點後的第三位數,大於等於5第二位就...

浮點數加(減)法 乘法 除法運算

ieee754標準規定了3種浮點數格式 單精度 雙精度與擴充套件精度 ieee754標準從邏輯上用三元組表示乙個數n,對於雙精度而言,其編碼格式為1位符號位,11位階碼和52位尾數 n 1 s x 2 e 1023 x 1.m 1 浮點數的加減法運算 加減法的本質相同,減法可以通過對減數的符號位取反...

簡單談談php浮點數精確運算

bc是binary calcula的縮寫。bc 函式的引數都是運算元加上乙個可選的 int scale 比如string bcadd string left operand,strin程式設計客棧g right operand int scale 如果scale沒有提供,就用bcscale的預設值。...