Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use console.
- <script>
- function logg(func, tik, ts1, ts2, num, sum){
- console.log(func+": "+tik+" numbers, sum of "+num+" is "+sum+", "+(ts2 - ts1)+"ms processing time")
- }
- function sum_split(num){
- var ts1 = new Date;
- var numsum = (''+num).split('').map(function(e){return parseInt(e)}).reduce(function(a,b){return a+b});
- var tik = 0;
- for(var i = 1;i<=num;i++){
- var sum = (''+i).split('').map(function(e){return parseInt(e)}).reduce(function(a,b){return a+b});
- if(sum==numsum)tik++;
- }
- var ts2 = new Date;
- logg("split",tik,ts1,ts2,num,numsum);
- }
- function sum_replace(num){
- var ts1 = new Date;
- var numsum = eval((''+num).replace(/(\d)(?=\d)/g, '$1+'));
- var tik = 0;
- for(var i = 1;i<=num;i++){
- var sum = eval((''+i).replace(/(\d)(?=\d)/g, '$1+'));
- if(sum==numsum)tik++;
- }
- var ts2 = new Date;
- logg("replce",tik,ts1,ts2,num,numsum);
- }
- function sum_mod(num){
- var ts1 = new Date;
- function sm(n) {
- var s=0;
- parseInt(n);
- while(n>0){
- s=s+n%10;
- n=Math.floor(n/10);
- }
- return s;
- }
- var numsum = sm(num);
- var tik = 0;
- for(var i = 1;i<=num;i++){
- var sum = sm(i);
- if(sum==numsum)tik++;
- }
- var ts2 = new Date;
- logg("mod",tik,ts1,ts2,num,numsum);
- }
- function sum_mod_qwik(num){
- var ts1 = new Date;
- function sm(n) {
- var s=0;
- parseInt(n);
- while(n>0){
- s=s+n%10;
- n=Math.floor(n/10);
- }
- return s;
- }
- function smq(n,m) {
- var s=0;
- parseInt(n);
- while(n>0){
- s=s+n%10;
- n=Math.floor(n/10);
- if(s>m)return false;
- }
- if(s==m)return true;
- }
- var numsum = sm(num);
- var tik = 0;
- for(var i = 1;i<=num;i++){
- if(smq(i,numsum))tik++;
- }
- var ts2 = new Date;
- logg("modQ",tik,ts1,ts2,num,numsum);
- }
- function sum_mod_verbose(num){
- var ts1 = new Date;
- function sm(n) {
- var s=0;
- parseInt(n);
- while(n>0){
- s=s+n%10;
- n=Math.floor(n/10);
- }
- return s;
- }
- var numsum = sm(num);
- var tik = 0;
- var verb = '';
- for(var i = 1;i<=num;i++){
- var sum = sm(i);
- if(sum==numsum){
- tik++;
- verb+= i+',';
- }
- }
- var ts2 = new Date;
- logg("mod",tik,ts1,ts2,num,numsum);
- console.log(verb);
- }
- function sum_parse(num){
- var ts1 = new Date;
- function sm(n){
- n=''+n;
- var s=0;
- for (var i = 0; i < n.length; i++) {
- s += parseInt(n.charAt(i), 10);
- }
- return s;
- }
- var numsum = sm(num);
- var tik = 0;
- for(var i = 1;i<=num;i++){
- var sum = sm(i);
- if(sum==numsum)tik++;
- }
- var ts2 = new Date;
- logg("parse",tik,ts1,ts2,num,numsum);
- }
- function runall(n){
- sum_split(n);
- // sum_replace(n);
- sum_parse(n);
- sum_mod(n);
- sum_mod_qwik(n);
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement