google.charts.load('current', {packages: ['corechart', 'line']}); google.charts.setOnLoadCallback(drawBackgroundColor); document.getElementById("max").addEventListener('input', function(e){ drawBackgroundColor(); }); function drawBackgroundColor() { var max_x = document.getElementById("max").value; data = new google.visualization.DataTable(); data.addColumn('number', 'x'); data.addColumn('number', 'π(x)'); data.addColumn('number', 'x/ln(x)'); data.addColumn('number', 'Li(x)'); var buff = Math.ceil(max_x / 100); var sieve = []; var i = 0; for (i = 0; i < max_x; ++i) { sieve[i] = true; } for (i = 2; i < Math.sqrt(max_x); ++i) { if (sieve[i] == false) { continue; } for (var cI = 2 * i; cI < max_x; cI += i) { sieve[cI] = false; } } sieve[0] = false; sieve[1] = false; var curCount = 0; var li_x = 0; for (i = 0; i <= max_x; ++i) { if (i % buff == 0) { li_x += buff / Math.log(i); } if (sieve[i] == true) { ++curCount; } if (i % buff == 0) { data.addRow([i, curCount, i / Math.log(i), li_x]); } } options = { 'legend': {'position': 'top'}, hAxis: { title: 'x' }, vAxis: { title: 'value' }, 'height': 700, 'chartArea': {'width': '80%', 'height': '80%'}, backgroundColor: '#fff' }; var chart = new google.visualization.LineChart(document.getElementById('chart_div')); chart.draw(data, options); }
Go Up To: <input type="number" id="max" value="1000"> <input type="button" value="Graph"> <div id="chart_div" width="100%" height="100%"></div>