<script text = "javascript">
// 水仙花数:
// for(var i = 100; i < 1000 ; i ++){
// var a = parseInt(i / 100);
// var b = parseInt((i % 100)/10);
// var c = i % 10;
// if (i == Math.pow(a,3) + Math.pow(b,3) + Math.pow(c,3)){
// console.log(i);
// }
// }
// 用户输入一个数,求该数所有的因数的个数:
// var i = parseInt(prompt("请输入一个整数:"));
// var num = 0 ;
// for (var m = 1 ; m <=Math.sqrt(i) ; m++ ){
// if (i % m == 0){
// num += 1;
// }
// }
// alert(2*num);
//判断质数
// var num = parseInt(prompt("请输入一个整数:"));
// console.time(); //Chrome中内置了time() 和timeEnd()可以用于求函数运行时间
// var Flag = true;
// for(var i = 2; i< num; i++) { //这里不能用i<=num;要用i< num;否则当i= num时,会进入if,导致后面的Flag一直为false
// if (num % i == 0) {
// Flag = false;
// }
// }
// if(Flag){
// alert(num +"是质数");
// }
// else{
// alert(num+"不是质数")
// }
// console.timeEnd();
//
//
//// 判断质数优化:
// var num = parseInt(prompt("请输入一个整数:"));
// console.time();
// var Flag = true;
// s = Math.sqrt(num);
// for(var i = 2; i<= s; i++) { //将判断条件改为i<=Math.sqrt(num),用来缩小判断范围,达到优化
// if (num % i == 0) {
// Flag = false;
// break; //加多一个break 之后,优化明显,运行更快;
// }
// }
// if(Flag){
// alert(num +"是质数");
// }
// else{
// alert(num+"不是质数")
// }
// console.timeEnd();
// 判断质数(老师解答)
// //用户输入一个数字
// var num = parseInt(prompt("请输入数字"));
// // 找因数
// // 比如用户输入48,要从1~48,分别让48除以这个数
// // 穷举法
// var amount = 0; //个数,累加器
// for(var i = 1 ; i <= num ; i++){
// if(num % i == 0){
// // console.log(i); //不想输出
// amount++; //自增1
// }
// }
// //循环语句结束之后,总量就已经产生了,弹出结果:
// if(amount == 2){
// alert("是质数");
// }else{
// alert("不是!!");
// }
// 计算某个函数的调用次数(Chrome中内置了一个 console.count方法)
// function someFunction() {
// console.count('some 已经执行');
// }
//
// function otherFunction() {
// console.count('other 已经执行');
// }
//
// someFunction(); // some 已经执行: 1
// someFunction(); // some 已经执行: 2
// otherFunction(); // other 已经执行: 1
//
// console.count(); // default: 1
// console.count(); // default: 1
// 输出1~num的所有质数
// var num = parseInt(prompt("请输入一个整数:"));
//
// function factor(m){ //用来求因数个数的函数
// var sum = 0; //求因数个数的总和,注意变量名和函数名不要重复
// for (var i = 1 ;i <=m; i++) {
// if (m % i == 0) {
// sum += 1
// }
// }
// return sum;
// }
//
// function judge_prime(m){ //判断是否为质数,当因数个数为2时,则为质数
// if(factor(m) == 2){
// return true;
// }
// else{
// return false;
// }
// }
//
// for(var i = 2;i <= num; i++){
// if(judge_prime(i)){
// console.log(i);
// }
// }
// 不使用函数求解1~num间的指数
// var num = parseInt(prompt("请输入一个整数:"));
// for(var m = 2; m <= num; m++){
// var sum = 0;
// for(var i = 1; i <= m; i++) {
// if (m % i == 0) {
// sum++;
// }
// }
// if(sum == 2){
// console.log(m);
// }
// }
// 哥德巴赫猜想(乱解)
// var num = parseInt(prompt("请输入一个偶数:")); //原先思路想求出num中所有偶数,然后再从其中遍历一个数与另一个数的和等于该偶数:太麻烦!
// for(var i = 2; i <= num ; i++){
// var sum = 0;
// for(var j = 1; j <= i; j++){
// if(i % j == 0){
// sum++;
// }
// }
// if(sum == 2){
//
// }
// }
//哥德巴赫猜想(正解)
// var num = parseInt(prompt("请输入一个偶数:")); //用来接收用户输入的偶数
// function factor_num(i){ //函数用来求解传入值有多少个因数
// var sum = 0;
// for( var j = 1; j <=i ;j++){
// if(i % j == 0){
// sum ++;
// }
// }
// return sum;
// }
// function judge_prime(i){ //当因数为2时,判断传入值为质数
// if(factor_num(i) == 2){
// return true;
// }else{
// return false;
// }
// }
// for(var m = 1; m <= num; m++){ 遍历1~num,当m与(100-m)同时为质数时,输出m与(100-m)
// if(judge_prime(m) && judge_prime(num - m)){
// console.log(num + "可以显示为"+ m +"与"+ (num - m) + "的和");
// }
// }
// 斐波那契数列 1 1 2 3 5 8 13 21 34 55 89....
//输入一个数字n,控制台输出前n位的值; (递归思想)
// var n = parseInt(prompt("请输入一个整数:")); //输入的值如果太大,死机。
// for(var i = 1; i <=n; i++){
// var m = fib(i);
// console.log(m);
// }
// function fib(n){
// if(n == 1){
// return 1;
// }else if(n == 2){
// return 1;
// }else{
// return fib(n-2) + fib(n-1);
// }
// }
//求1~n的完全数:
// var n = parseInt(prompt("请输入一个整数:"));
// function factor_sum(n){ //函数用于求n的所有因数的和
// var sum = 0;
// for(var i = 1; i<=n; i++){
// if(n % i == 0){
// sum += i;
// }
// }
// return sum;
// }
// for(var i = 1; i <= n; i++){ //遍历1~n,当所有因数之和等于2n时,则为完全数
// if(factor_sum(i) == 2*i){
// console.log(i);
// }
// }
// 求3/2+4/3+5/4++++101/100;
// 原式为:99+(1/2+1/3+1/4+++1/100)
// var sum = 0;
// for(var i = 2 ; i<=100; i++){
// sum += 1/i;
// }
// alert(99+sum);
</script>
js练习题
最新推荐文章于 2022-08-10 22:12:02 发布