不用程序写出来也行,就是方法不知道

解决方案 »

  1.   

    double d=37373737d/7171717171L;不会要求用手算吧?
      

  2.   


    float i=37373737f;
    float j=7171717171f;
    System.out.println(i/j);哈哈,楼主你看看这样行不
      

  3.   

    嗯,近似计算,估计就Java的primitive type的精度来说,应该差不多了。
      

  4.   

    该结贴了
    public static void main(String[] args) {
    BigDecimal a=new BigDecimal(37373737);
    BigDecimal b=new BigDecimal(Long.valueOf("7171717171"));
    System.out.println(a.divide(b,30,BigDecimal.ROUND_HALF_UP));
    }
      

  5.   

    public static void main(String[] args) {
            BigDecimal a=new BigDecimal(37373737);
            BigDecimal b=new BigDecimal(Long.valueOf("7171717171"));
            System.out.println(a.divide(b,30,BigDecimal.ROUND_HALF_UP));
        }
     上面这段代码是什么意思呀?
      

  6.   

    37373737/7171717171
    如果真是这么简单楼主回来这提问题吗?
    初学者会郁闷的问题是
    7171717171
    已经超出了int的范围,这么写是编译不过去的所以要Long.valueOf("7171717171")把它变成long
    超出int范围的数字做加减乘除运会导致溢出,结果不对所以使用BigDecimal 
    即便使用BigDecimal 仍然有溢出问题所以指定小数点后30位
    最后的ROUND_HALF_UP是指定舍入模式,模式有好几种 不光是四舍五入。所以不要再告诉楼主
    System.out.println(37373737/7171717171)
      

  7.   

    HOHO~ 楼主的题目是“最简便的方法” 而不是“怎样能算”估计楼主想问的是计算技巧 就如15*15和25*25之类的有简便算法一样 况且楼主也说了 没程序也行 可见他只是想知道对于这复杂计算的技巧 比如说我们以前上数学课的时候碰上这样的计算题要求保留4位小数 难不成还真的用那2个大数去算?浪费时间不说还容易算错 而6楼所说的就是个很好的解决办法
      

  8.   

    个人认为是个回文数例子,你必须实现的是对回文数的查找:比如:设 a=337337,b=50135013(a<b)且a为337,b为5013;类似的例子还有 1234512435/987654987654
      

  9.   


    import java.math.BigInteger;
    import java.math.BigDecimal;
    import java.math.MathContext;
    public class Demo6 {
        public static void main(String[] args){
            MathContext m = new MathContext(10);
            int a1 = 3737373;
            BigInteger a2 = new BigInteger("7171717171");
            BigDecimal b1 = new BigDecimal(a1);
            BigDecimal b2 = new BigDecimal(a2);
            System.out.println(b1.divide((b2),new MathContext(10)));     }
        
    }