当前位置: 代码迷 >> 综合 >> Octal Fractions POJ - 1131
  详细解决方案

Octal Fractions POJ - 1131

热度:85   发布时间:2023-10-13 14:26:25.0

问题类型:小数,进制转换。

03pie’s solution for [POJ-1131]:
问题链接

#include <iostream> 
#include <cstring> 
using namespace std;  const int BASE10 = 10;  
const int BASE8 = 8;  
const int MAXN = 1024;  
char s[MAXN];  
int ans[MAXN];  
int main(void)  
{  while(cin >> s) {  memset(ans, 0, sizeof(ans));  int lens = 0;  int len = strlen(s);  for(int i=len-1; i>1; i--) {  int digit = s[i] - '0';  int j = 0,k = 0;  while(j<lens || digit) {  digit = digit * BASE10 + ans[j++];  ans[k++] = digit / BASE8;  digit %= BASE8;  }  lens = k;  }  cout<< s << " [" << BASE8 << "] = 0." ;  for(int i=0; i<lens; i++)  cout << ans[i];  cout << " [" << BASE10 << "]" << endl;  }  return 0;  
}