Created
May 22, 2017 09:00
-
-
Save Le-Fu/0c8a4e0dc157e5c24cd8af5733ab74ce to your computer and use it in GitHub Desktop.
JS Bin // source http://jsbin.com/wuxifab
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width"> | |
| <title>JS Bin</title> | |
| </head> | |
| <body> | |
| <script id="jsbin-javascript"> | |
| //判断一个数字是否为素数 | |
| var isPrime = function (num) { | |
| if (typeof num === 'number' && num > 1) { | |
| for (var i = 2; i < num; i++) { | |
| if (num % i === 0) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| } | |
| return false; | |
| } | |
| var data = { | |
| "value": null, | |
| "left": { | |
| "value": null, | |
| "left": { | |
| "value": 1, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": null, | |
| "left": { | |
| "value": 7, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": 13, | |
| "left": null, | |
| "right": null | |
| } | |
| } | |
| }, | |
| "right": { | |
| "value": null, | |
| "left": { | |
| "value": null, | |
| "left": { | |
| "value": 3, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": 5, | |
| "left": null, | |
| "right": null | |
| } | |
| }, | |
| "right": { | |
| "value": 3, | |
| "left": null, | |
| "right": null | |
| } | |
| } | |
| }; | |
| var sumPrime = function (data) { | |
| data.value = (isPrime(data.left.value) ? data.left.value : 0) + (isPrime(data.right.value) ? data.right.value : 0); | |
| }; | |
| // 改变data的内的value | |
| var changeData = function fn(data) { | |
| if (!data.value) { | |
| fn(data.left); | |
| fn(data.right); | |
| // a:使所有非叶子节点的value等于值为非素数子节点的值之和(假如子节点的值为2和3,则和为5;假如子节点值为3和4,则和为3) | |
| sumPrime(data); | |
| } | |
| }; | |
| var printPrime = function (data) { | |
| changeData(data); | |
| // 打印所有素数,b:打印其中所有素数 | |
| (function fn(data) { | |
| if (data) { | |
| fn(data.left); | |
| fn(data.right); | |
| isPrime(data.value) ? console.log(data.value) : null; | |
| } | |
| })(data); | |
| }; | |
| printPrime(data); | |
| </script> | |
| <script id="jsbin-source-javascript" type="text/javascript">//判断一个数字是否为素数 | |
| var isPrime = function (num) { | |
| if (typeof num === 'number' && num > 1) { | |
| for (var i = 2; i < num; i++) { | |
| if (num % i === 0) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| } | |
| return false; | |
| } | |
| var data = { | |
| "value": null, | |
| "left": { | |
| "value": null, | |
| "left": { | |
| "value": 1, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": null, | |
| "left": { | |
| "value": 7, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": 13, | |
| "left": null, | |
| "right": null | |
| } | |
| } | |
| }, | |
| "right": { | |
| "value": null, | |
| "left": { | |
| "value": null, | |
| "left": { | |
| "value": 3, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": 5, | |
| "left": null, | |
| "right": null | |
| } | |
| }, | |
| "right": { | |
| "value": 3, | |
| "left": null, | |
| "right": null | |
| } | |
| } | |
| }; | |
| var sumPrime = function (data) { | |
| data.value = (isPrime(data.left.value) ? data.left.value : 0) + (isPrime(data.right.value) ? data.right.value : 0); | |
| }; | |
| // 改变data的内的value | |
| var changeData = function fn(data) { | |
| if (!data.value) { | |
| fn(data.left); | |
| fn(data.right); | |
| // a:使所有非叶子节点的value等于值为非素数子节点的值之和(假如子节点的值为2和3,则和为5;假如子节点值为3和4,则和为3) | |
| sumPrime(data); | |
| } | |
| }; | |
| var printPrime = function (data) { | |
| changeData(data); | |
| // 打印所有素数,b:打印其中所有素数 | |
| (function fn(data) { | |
| if (data) { | |
| fn(data.left); | |
| fn(data.right); | |
| isPrime(data.value) ? console.log(data.value) : null; | |
| } | |
| })(data); | |
| }; | |
| printPrime(data);</script></body> | |
| </html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //判断一个数字是否为素数 | |
| var isPrime = function (num) { | |
| if (typeof num === 'number' && num > 1) { | |
| for (var i = 2; i < num; i++) { | |
| if (num % i === 0) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| } | |
| return false; | |
| } | |
| var data = { | |
| "value": null, | |
| "left": { | |
| "value": null, | |
| "left": { | |
| "value": 1, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": null, | |
| "left": { | |
| "value": 7, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": 13, | |
| "left": null, | |
| "right": null | |
| } | |
| } | |
| }, | |
| "right": { | |
| "value": null, | |
| "left": { | |
| "value": null, | |
| "left": { | |
| "value": 3, | |
| "left": null, | |
| "right": null | |
| }, | |
| "right": { | |
| "value": 5, | |
| "left": null, | |
| "right": null | |
| } | |
| }, | |
| "right": { | |
| "value": 3, | |
| "left": null, | |
| "right": null | |
| } | |
| } | |
| }; | |
| var sumPrime = function (data) { | |
| data.value = (isPrime(data.left.value) ? data.left.value : 0) + (isPrime(data.right.value) ? data.right.value : 0); | |
| }; | |
| // 改变data的内的value | |
| var changeData = function fn(data) { | |
| if (!data.value) { | |
| fn(data.left); | |
| fn(data.right); | |
| // a:使所有非叶子节点的value等于值为非素数子节点的值之和(假如子节点的值为2和3,则和为5;假如子节点值为3和4,则和为3) | |
| sumPrime(data); | |
| } | |
| }; | |
| var printPrime = function (data) { | |
| changeData(data); | |
| // 打印所有素数,b:打印其中所有素数 | |
| (function fn(data) { | |
| if (data) { | |
| fn(data.left); | |
| fn(data.right); | |
| isPrime(data.value) ? console.log(data.value) : null; | |
| } | |
| })(data); | |
| }; | |
| printPrime(data); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment