Problem Statement
Definition
- Class:
- SortEstimate
- Method:
- howMany
- Parameters:
- int, int
- Returns:
- double
- Method signature:
- double howMany(int c, int time)
- (be sure your method is public)
Notes
- lg(n) = ln(n)/ln(2) where ln denotes the natural log.
- Your return value must have a relative or absolute error less than 1e-9.
Constraints
- c will be between 1 and 100 inclusive.
- time will be between 1 and 2000000000 inclusive.
Examples
1
8
Returns: 4.0
Given 8 nanoseconds we can sort 4 integers since 1*4*lg(4) = 4*2 = 8
1
1073741824
Returns: 4.237868701779632E7
1
20971520
Returns: 1048576.0
1
1744830463
Returns: 6.7108863963560425E7
2
16
Returns: 4.0
Now that c = 2 we need twice as many nanoseconds to sort 4 integers.
37
12392342
Returns: 23104.999312341137
We can almost sort 23105 integers, but not quite.
1
2000000000
Returns: 7.637495090348122E7
Largest possible return.
15
183518033
Returns: 634711.5366691528
94
528002855
Returns: 308072.16281298193
22
1891962415
Returns: 3926030.802208677
19
21449736
Returns: 70129.92471231497
41
251000508
Returns: 333658.1565933969
41
682091086
Returns: 844976.7106648742
15
324891869
Returns: 1080626.000222133
100
269939035
Returns: 156438.87972686428
65
150597632
Returns: 135872.67212630875
82
1668460444
Returns: 1019427.0794480281
94
698125302
Returns: 399152.58894443273
73
537393400
Returns: 395894.080674982
61
952343733
Returns: 796412.1957200351
62
1668728800
Returns: 1323517.520513234
67
1422724322
Returns: 1060844.4313069163
50
1302510048
Returns: 1283769.883887477
72
1240983207
Returns: 873315.4015855292
61
1668868721
Returns: 1343872.2486778102
70
672611577
Returns: 507012.8623876511
41
844981191
Returns: 1031674.1952518377
69
346799919
Returns: 277924.8297328659
96
1650394599
Returns: 871225.0564874781
41
800275356
Returns: 980681.0457517206
47
1751439252
Returns: 1793764.4273233637
72
1034087829
Returns: 736868.1134626163
65
1405206580
Returns: 1078722.5591509202
97
698397013
Returns: 387824.0070168886
45
1345840599
Returns: 1460472.8429022175
92
1248825953
Returns: 699151.35947252
22
1200654528
Returns: 2563460.5078692725
1
1999999999
Returns: 7.637495086728776E7
1
2000000000
Returns: 7.637495090348122E7
2
1999999997
Returns: 3.962007767021034E7
1
1
Returns: 1.5596104694623691
43
2000000000
Returns: 2207091.972283502
100
1
Returns: 1.0069076686081029
1
3
Returns: 2.3884234844993384
100
2523526
Returns: 2264.2982128022004
5
100
Returns: 7.081840920218569
1
2
Returns: 2.0
2
2000000000
Returns: 3.962007772642713E7