Octal Fractions java秒 C++

                            Octal Fractions

题目抽象:   将八进制小数转换成十进制小树。小数的为数很大。

可以用java  中的BigDeciaml 秒掉。  time:297ms

 1 import java.math.*;
 2 import java.util.*;
 3 import java.io.*;
 4 import java.text.*;
 5
 6 public class Main
 7 {
 8     static int MS=3005;
 9     public static void main(String[] args)
10     {
11         Scanner cin=new Scanner(new BufferedInputStream(System.in));
12         while(cin.hasNext())
13         {
14             String str=cin.next();
15             BigDecimal sum=new BigDecimal(0);
16             BigDecimal tmp=new BigDecimal(1);
17             BigDecimal eight=new BigDecimal(8);
18             for(int i=2;i<str.length();i++)
19             {
20                 tmp=tmp.divide(eight);
21                 sum=sum.add(tmp.multiply(new BigDecimal(str.charAt(i)-‘0‘) ));
22             }
23             System.out.println(str + " [8] = " + sum.toString() + " [10]");
24         }
25         cin.close();
26     }
27 }

C++    time : 0ms

 1 #include <iostream>
 2 #include <string.h>
 3 #include <cstdio>
 4 using namespace std;
 5 const int MS=1001;
 6
 7 int main()
 8 {
 9     char str[MS],ans[3*MS];
10     int i,j,index,num;
11     while(scanf("%s",str)!=EOF)
12     {
13         int len=strlen(str);
14         index=0;
15         memset(ans,0,sizeof(ans));
16         for(i=len-1;i>1;i--)
17         {
18             num=str[i]-‘0‘;
19             for(j=0;j<index||num;j++)
20             {
21                 num=num*10+(j<index?ans[j]-‘0‘:0);
22                 ans[j]=num/8+‘0‘;
23                 num=num%8;
24             }
25             index=j;
26         }
27         printf("%s [8] = 0.%s [10]\n",str,ans);
28     }
29     return 0;
30 }
时间: 2024-08-01 14:24:23

Octal Fractions java秒 C++的相关文章

POJ Octal Fractions(JAVA水过)

题目链接:CLICK HERE~ 虽然java一下模拟水过,但是我看到别人的一段神奇代码,贴出和大家共享. import java.math.*; import java.util.*; class Main{ public static void main(String args[]){ Scanner cin = new Scanner(System.in); BigDecimal Eight = new BigDecimal(8); while(cin.hasNext()){ String

POJ 1131 Octal Fractions (Java大数,八进制转十进制)

Octal Fractions Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6959   Accepted: 3825 Description Fractions in octal (base 8) notation can be expressed exactly in decimal notation. For example, 0.75 in octal is 0.953125 (7/8 + 5/64) in d

【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)

[JAVA秒会技术之秒杀面试官]秒杀Java面试官--集合篇(一) [JAVA秒会技术之秒杀面试官]JavaEE常见面试题(三) http://blog.csdn.net/qq296398300/article/category/6876287

Octal Fractions 未完成

1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 void divi(int p[],int x,int *len) 5 { 6 int temp=0,i,j; 7 for(i=0;i<*len+3;i++) 8 { 9 temp=temp*10+p[i]; 10 p[i]=temp/x; 11 temp%=x; 12 } 13 14 for(i=*len+3;i>=0;i--)

Series 1 java秒组合数

Series 1 举几个例子发现,  系数中间对称,很容易想到组合数 c(n,m)==c[n,n-m).此题就是高精度求组合数,java秒之. time:1825ms   ,接近时限,如果n还稍微大一点就超时. 1 import java.math.*; 2 import java.util.*; 3 import java.io.*; 4 import java.text.*; 5 6 public class Main 7 { 8 static int MS=3005; 9 public s

字串数 排练组合(阶乘) java秒

字串数 题目抽象:给定若干字母和它们相应的个数,计算一共可以组成多少个不同的字符串. 1 import java.math.*; 2 import java.util.*; 3 import java.io.*; 4 import java.text.*; 5 6 public class Main 7 { 8 9 public static void main(String[] args) 10 { 11 Scanner cin=new Scanner(new BufferedInputStr

ACdream 1007 a+b 快速幂 java秒啊

a + b ( sigma  (ai^x)  )  %  mod 1 import java.util.*; 2 import java.math.*; 3 import java.io.*; 4 public class Main 5 { 6 static BigInteger mod=new BigInteger("10000000007"); 7 public static void main(String[] args) 8 { 9 // 对于大量输入,下面方式可能会快一些.

【JAVA秒会技术之秒杀面试官】JavaEE常见面试题(一)

1.Struts2中,Action通过什么方式获取用户从页面输入的数据,又是通过什么方法把数据传给视图层显示的? 答:(1)Action从页面获取数据的方式有三种: ①通过Action属性接收参数:(例:${pageContext.request.contextPath}/***.action? id=xxxx) ②通过域模型获取参数:(例:ServletActionContext.getRequest().getParameter(arg0)) ③通过模型驱动获取参数(例:extends Mo

【JAVA秒会技术之秒杀面试官】JavaSE常见面试题(二)

21.在Java中,如何跳出当前的多重嵌套循环? 答:在最外层循环前加一个标记如A,然后用break A;可以跳出多重循环.(Java中支持带标签的break和continue语句,作用有点类似于C和C++中的goto语句,但是就像要避免使用goto一样,应该避免使用带标签的break和continue,因为它不会让你的程序变得更优雅,很多时候甚至有相反的作用,所以这种语法其实不知道更好) 22.构造器(constructor)是否可被重写(override)? 答:构造器不能被继承,因此不能被