有趣的数学计算 1/9801
结果 00,01,02,03。。。97
■代码
package com.sxz.demo;
import java.math.BigDecimal;
import java.util.ArrayList;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World");
ArrayList<String> list = new ArrayList<String>();
Double d123 = 1.0;
Double d9801 = 9801.0;
Double result;
result = d123 / d9801;
System.out.println(result);
System.out.println("=======================");
BigDecimal b1 = new BigDecimal(d123);
BigDecimal b9801 = new BigDecimal(d9801);
String bResult = b1.divide(b9801, 333, BigDecimal.ROUND_HALF_UP).toString();
System.out.println(bResult);
System.out.println("=======================");
String rusults[][] = new String[15][10];
for (int i = 0; i < 15; i++) {
for (int j = 0; j < 10; j++) {
int tempStart = 2 + i * 20 + j * 2;
rusults[i][j] = bResult.substring(tempStart, tempStart+2);
}
}
for (int i = 0; i < 15; i++) {
for (int j = 0; j < 10; j++) {
System.out.print(rusults[i][j]);
System.out.print(",");
}
System.out.println("");
}
}
}
■结果
Hello World
1.0203040506070809E-4
=======================
0.000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969799000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465667
=======================
00,01,02,03,04,05,06,07,08,09,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,
60,61,62,63,64,65,66,67,68,69,
70,71,72,73,74,75,76,77,78,79,
80,81,82,83,84,85,86,87,88,89,
90,91,92,93,94,95,96,97,99,00,
01,02,03,04,05,06,07,08,09,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,
---
■有图有真相
---