ZSC 1218 八進位制小數

2021-07-11 01:37:59 字數 864 閱讀 2082

time limit: 1 sec  

memory limit: 64 mb

submit: 49  

solved: 26

八進位制小數可以用十進位制小數精確的表示。比如,八進位制裡面的0.75等於十進位制裡面的0.963125 (7/8 + 5/64)。所有小數點後位數為n的八進位制小數都可以表示成小數點後位數不多於3n的十進位制小數。 你的任務是寫乙個程式,把(0, 1)中的八進位制小數轉化成十進位制小數。

輸入包括若干八進位制小數,每個小數占用一行。每個小數的形式是0.d1d2d3 ... dk,這裡di是八進位制數0...7,而且已知0 < k < 15。

對於每個輸入的八進位制小數,輸入如下形式的一行 0.d1d2d3 ... dk [8] = 0.d1d2d3 ... dm [10] 這裡左邊是輸入的八進位制小數,右邊是相等的十進位制小數。輸出的小數末尾不能有0,也就是說dm不等於0。

0.750.00010.01234567

0.75 [8] = 0.953125 [10]0.0001 [8] = 0.000244140625 [10]0.01234567 [8] = 0.020408093929290771484375 [10]

對於n進製小數a = 0.d1d2d3d4, 可以這樣轉化為10進製小數:tena = ((((d4/n) + d3) / n + d2) / n + d1) / n;

#include #include using namespace std;

char str[100];

int main()

printf("%s [8] = %.45g [10]\n", str, ans);

} return 0;

}

八進位制小數

描述 八進位制有限小數均可以用十進位制有限小數精確地表示。比如,八進位制裡面的0.75等於十進位制裡面的0.963125 7 8 5 64 所有小數點後位數為n的八進位制小數都可以表示成小數點後位數不多於3n的十進位制小數。你的任務是寫乙個程式,把 0,1 之間的八進位制小數轉化成十進位制小數。輸入...

03 八進位制小數

03 八進位制小數 總時間限制 1000ms 記憶體限制 65536kb 描述 八進位制有限小數均可以用十進位制有限小數精確地表示。比如,八進位制裡面的0.75等於十進位制裡面的0.963125 7 8 5 64 所有小數點後位數為n的八進位制小數都可以表示成小數點後位數不多於3n的十進位制小數。你...

03 八進位制小數

總時間限制 1000ms 記憶體限制 65536kb 描述八進位制有限小數均可以用十進位制有限小數精確地表示。比如,八進位制裡面的0.75等於十進位制裡面的0.963125 7 8 5 64 所有小數點後位數為n的八進位制小數都可以表示成小數點後位數不多於3n的十進位制小數。你的任務是寫乙個程式,把...