Octal Fractions POJ

来源:互联网 发布:淘宝店铺免费采集软件 编辑:程序博客网 时间:2024/05/24 01:47

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

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;  } 
0 0