fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.math.*;
  5.  
  6. class Ideone
  7. {
  8. public static void main (String[] args) throws java.lang.Exception
  9. {
  10. System.out.println(Math.log10(Double.MAX_VALUE));
  11.  
  12. final int MAX_L = 300, D = 10;
  13.  
  14. double[] m = new double[MAX_L+1], e = new double[MAX_L+1];
  15. BigInteger[] b = new BigInteger[MAX_L+1];
  16.  
  17. m[0] = 1.0; e[0] = 0.0; b[0] = BigInteger.ONE;
  18.  
  19. for (int i = 1; i <= MAX_L; i++) {
  20. m[i] = m[i-1]*(double)i;
  21. e[i] = e[i-1]+Math.log10((double)i);
  22. b[i] = b[i-1].multiply(BigInteger.valueOf((long)i));
  23. System.out.printf("[%d]%f, ", i, Math.log10(m[i]));
  24. }
  25. System.out.println();
  26.  
  27. for (int L = 50; L <= MAX_L; L += 10) {
  28. int cnt1 = 0, cnt2 = 0, cnt3 = 0;
  29. for (int i = 1; i <= L; i++) {
  30. for (int j = 1; j <= i; j++) {
  31. double x = m[i]/m[j]/m[i-j];
  32. double y = e[i]-e[j]-e[i-j];
  33. BigInteger z = b[i].divide(b[j]).divide(b[i-j]);
  34. if (Math.log10(x)>=(double)D) cnt1++;
  35. if (y >= (double)D) cnt2++;
  36. if (z.toString().length()>D) cnt3++;
  37. }
  38. }
  39. System.out.printf("L = %d%n", L);
  40. System.out.printf("%d, %d, %d%n", cnt1, cnt2, cnt3);
  41. }
  42. }
  43. }
Success #stdin #stdout 1.98s 115616KB
stdin
Standard input is empty
stdout
308.25471555991675
[1]0.000000, [2]0.301030, [3]0.778151, [4]1.380211, [5]2.079181, [6]2.857332, [7]3.702431, [8]4.605521, [9]5.559763, [10]6.559763, [11]7.601156, [12]8.680337, [13]9.794280, [14]10.940408, [15]12.116500, [16]13.320620, [17]14.551069, [18]15.806341, [19]17.085095, [20]18.386125, [21]19.708344, [22]21.050767, [23]22.412494, [24]23.792706, [25]25.190646, [26]26.605619, [27]28.036983, [28]29.484141, [29]30.946539, [30]32.423660, [31]33.915022, [32]35.420172, [33]36.938686, [34]38.470165, [35]40.014233, [36]41.570535, [37]43.138737, [38]44.718520, [39]46.309585, [40]47.911645, [41]49.524429, [42]51.147678, [43]52.781147, [44]54.424599, [45]56.077812, [46]57.740570, [47]59.412668, [48]61.093909, [49]62.784105, [50]64.483075, [51]66.190645, [52]67.906648, [53]69.630924, [54]71.363318, [55]73.103681, [56]74.851869, [57]76.607744, [58]78.371172, [59]80.142024, [60]81.920175, [61]83.705505, [62]85.497896, [63]87.297237, [64]89.103417, [65]90.916330, [66]92.735874, [67]94.561949, [68]96.394458, [69]98.233307, [70]100.078405, [71]101.929663, [72]103.786996, [73]105.650319, [74]107.519550, [75]109.394612, [76]111.275425, [77]113.161916, [78]115.054011, [79]116.951638, [80]118.854728, [81]120.763213, [82]122.677027, [83]124.596105, [84]126.520384, [85]128.449803, [86]130.384301, [87]132.323821, [88]134.268303, [89]136.217693, [90]138.171936, [91]140.130977, [92]142.094765, [93]144.063248, [94]146.036376, [95]148.014099, [96]149.996371, [97]151.983142, [98]153.974368, [99]155.970004, [100]157.970004, [101]159.974325, [102]161.982925, [103]163.995762, [104]166.012796, [105]168.033985, [106]170.059291, [107]172.088675, [108]174.122098, [109]176.159525, [110]178.200918, [111]180.246241, [112]182.295459, [113]184.348537, [114]186.405442, [115]188.466140, [116]190.530598, [117]192.598784, [118]194.670666, [119]196.746213, [120]198.825394, [121]200.908179, [122]202.994539, [123]205.084444, [124]207.177866, [125]209.274776, [126]211.375146, [127]213.478950, [128]215.586160, [129]217.696750, [130]219.810693, [131]221.927964, [132]224.048538, [133]226.172390, [134]228.299495, [135]230.429829, [136]232.563367, [137]234.700088, [138]236.839967, [139]238.982982, [140]241.129110, [141]243.278329, [142]245.430617, [143]247.585953, [144]249.744316, [145]251.905684, [146]254.070037, [147]256.237354, [148]258.407616, [149]260.580802, [150]262.756893, [151]264.935870, [152]267.117714, [153]269.302405, [154]271.489926, [155]273.680258, [156]275.873382, [157]278.069282, [158]280.267939, [159]282.469336, [160]284.673456, [161]286.880282, [162]289.089797, [163]291.301985, [164]293.516829, [165]295.734313, [166]297.954421, [167]300.177137, [168]302.402446, [169]304.630333, [170]306.860782, [171]Infinity, [172]Infinity, [173]Infinity, [174]Infinity, [175]Infinity, [176]Infinity, [177]Infinity, [178]Infinity, [179]Infinity, [180]Infinity, [181]Infinity, [182]Infinity, [183]Infinity, [184]Infinity, [185]Infinity, [186]Infinity, [187]Infinity, [188]Infinity, [189]Infinity, [190]Infinity, [191]Infinity, [192]Infinity, [193]Infinity, [194]Infinity, [195]Infinity, [196]Infinity, [197]Infinity, [198]Infinity, [199]Infinity, [200]Infinity, [201]Infinity, [202]Infinity, [203]Infinity, [204]Infinity, [205]Infinity, [206]Infinity, [207]Infinity, [208]Infinity, [209]Infinity, [210]Infinity, [211]Infinity, [212]Infinity, [213]Infinity, [214]Infinity, [215]Infinity, [216]Infinity, [217]Infinity, [218]Infinity, [219]Infinity, [220]Infinity, [221]Infinity, [222]Infinity, [223]Infinity, [224]Infinity, [225]Infinity, [226]Infinity, [227]Infinity, [228]Infinity, [229]Infinity, [230]Infinity, [231]Infinity, [232]Infinity, [233]Infinity, [234]Infinity, [235]Infinity, [236]Infinity, [237]Infinity, [238]Infinity, [239]Infinity, [240]Infinity, [241]Infinity, [242]Infinity, [243]Infinity, [244]Infinity, [245]Infinity, [246]Infinity, [247]Infinity, [248]Infinity, [249]Infinity, [250]Infinity, [251]Infinity, [252]Infinity, [253]Infinity, [254]Infinity, [255]Infinity, [256]Infinity, [257]Infinity, [258]Infinity, [259]Infinity, [260]Infinity, [261]Infinity, [262]Infinity, [263]Infinity, [264]Infinity, [265]Infinity, [266]Infinity, [267]Infinity, [268]Infinity, [269]Infinity, [270]Infinity, [271]Infinity, [272]Infinity, [273]Infinity, [274]Infinity, [275]Infinity, [276]Infinity, [277]Infinity, [278]Infinity, [279]Infinity, [280]Infinity, [281]Infinity, [282]Infinity, [283]Infinity, [284]Infinity, [285]Infinity, [286]Infinity, [287]Infinity, [288]Infinity, [289]Infinity, [290]Infinity, [291]Infinity, [292]Infinity, [293]Infinity, [294]Infinity, [295]Infinity, [296]Infinity, [297]Infinity, [298]Infinity, [299]Infinity, [300]Infinity, 
L = 50
279, 279, 279
L = 60
650, 650, 650
L = 70
1135, 1135, 1135
L = 80
1740, 1740, 1740
L = 90
2445, 2445, 2445
L = 100
3264, 3264, 3264
L = 110
4189, 4189, 4189
L = 120
5214, 5214, 5214
L = 130
6339, 6339, 6339
L = 140
7564, 7564, 7564
L = 150
8907, 8907, 8907
L = 160
10352, 10352, 10352
L = 170
11897, 11897, 11897
L = 180
13552, 13542, 13542
L = 190
15107, 15287, 15287
L = 200
16562, 17132, 17132
L = 210
17917, 19077, 19077
L = 220
19172, 21122, 21122
L = 230
20327, 23267, 23267
L = 240
21382, 25512, 25512
L = 250
22337, 27857, 27857
L = 260
23192, 30302, 30302
L = 270
23947, 32863, 32863
L = 280
24602, 35528, 35528
L = 290
25157, 38293, 38293
L = 300
25612, 41158, 41158