js代码求对称数(中心对称数js)

发布时间:2023-12-08

js代码求对称数(中心对称数js)

更新: 2022-11-13 02:24

本文目录一览:

  1. js为完全对称偏差,故其上下偏差相等为什么是错的
  2. js方法求2-200之间素数的代码
  3. 一个对称数为95859两小时出现新的对称数问该车速为多少javascript
  4. JavaScript 问题答案!!
  5. JavaScript 杨辉三角
  6. js代码解密求救

js为完全对称偏差,故其上下偏差相等为什么是错的

因为基本偏差表有规定,IT7~IT11时,若IT查出来的数值为奇数的话,应该用IT-1除以2。

js方法求2-200之间素数的代码

以下代码可以实现JavaScript求n个素数,当n=500时满足题目需求。

function prime(n) {
    var primeArr = [2];
    var isPrime = function(num, primeList) {
        if (num == 2) {
            return true;
        }
        for (var i = 3, iLen = Math.sqrt(num), j = 1; i <= iLen; i = primeList[j++]) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
    if (isNaN(n) || n < 1) {
        return [];
    }
    for (var i = 3; i <= n; i += 2) {
        if (isPrime(i, primeArr)) {
            primeArr.push(i);
        }
    }
    return primeArr;
}
prime(200);

函数调用

prime(200); // 计算200以内的素数:

说明:

  • 素数即除去1和其本身两个数之外,不能被任何数整除的整数。
  • 由公理可知,如果一个整数能被分解成多个整数,则必有一个数不大于该整数的平方根(反证法可知,如果分解成的两个数都大于平方根,则乘积必大于原数),故在循环时,只需循环到该数的平方根即(Math.sqrt(num)为求平方根)。
  • 如果一个数能被2整除,则除2之外其他数都不是素数,故从3开始遍历能够减少循环次数。
  • 如果一个数能够被分解,则最终分解结果必然为多个素数之积,故循环时只需要尝试之前算好的素数能否整除当前的数,极大减少循环次数。

一个对称数为95859两小时出现新的对称数问该车速为多少javascript

思路:

  1. 从95859开始递增,逐个判断是否为对称数,得到95859后的一个对称数。
  2. 得到两数的差并除以2,得到汽车的速度。

实现代码:

static void Main(string[] args)
{
    long Mileage_Start = 95859; // 上午10点里程表的公里数
    long Mileage_Over = Mileage_Start; // 刚开始两数相同
    do {
        Mileage_Over++;
    } while (!isPalindrome(Mileage_Over)); // 调用isPalindrome()方法判断是否为对称数,是则跳出循环。
    Console.WriteLine("下一个对称数为:{0}", Mileage_Over);
    Console.WriteLine("2个小时行驶了:{0}KM", Mileage_Over - Mileage_Start);
    Console.WriteLine("汽车的速度为:{0}KM/小时", (Mileage_Over - Mileage_Start) / 2);
}
public static bool isPalindrome(long _Mileage) {
    string Mileage = _Mileage.ToString();
    Stack stack = new Stack();
    bool flag = true;
    char[] Mile = Mileage.ToCharArray();
    for (int i = 0; i < Mile.Length; i++) {
        stack.Push(Mile[i].ToString()); // 压栈
    }
    ArrayList array = new ArrayList();
    for (int i = 0; i < Mile.Length; i++) {
        array.Add(stack.Pop()); // 出栈
        if (array[i].ToString() != Mile[i].ToString()) // 头尾相应的位置比较,不同则不为对称数,返回False.
        {
            flag = false;
            break;
        }
    }
    return flag;
}

运行结果

下一个对称数为:95959
2个小时行驶了:100KM
汽车的速度为:50KM/小时

JavaScript 问题答案!!

1. 合并数组并排序

var m = new Array(10);
for (i = 0; i < m.length; i++) {
    m[i] = Math.floor(Math.random() * 100 + 1);
}
var n = new Array(9);
for (j = 0; j < n.length; j++) {
    n[j] = Math.floor(Math.random() * 100 + 1);
}
var arr = new Array();
arr = arr.concat(m, n);
document.write("将九个整数放到包含10个元素的一维数组中:" + arr + "<br>");
for (k = 0; k < arr.length; k++) {
    for (s = 0; s < arr.length - k; s++) {
        if (arr[s] < arr[s + 1]) {
            r = arr[s];
            arr[s] = arr[s + 1];
            arr[s + 1] = r;
        }
    }
}
document.write("排序:" + arr + "<br>");
var f = new Array(1);
f = parseInt(prompt("请输入一个数:"));
document.write("添加的数:" + f + "<br>");
var t = new Array();
t = t.concat(arr, f);
for (k = 0; k < t.length; k++) {
    for (s = 0; s < t.length - k; s++) {
        if (t[s] < t[s + 1]) {
            r = t[s];
            t[s] = t[s + 1];
            t[s + 1] = r;
        }
    }
}
document.write("最后的排序" + t);

2. 输入n的值并生成最大整数

var n = parseInt(prompt("请输入n的值。n=100"));
var k = new Array();
for (m = 0; m <= n; m++) {
    k[m] = Math.floor(Math.random() * 1000 + 1);
}
document.write(k + "<br>");
m = k.sort();
n = m.reverse();
document.write("连成的最大整数为" + n.join(""));

3. 输入英文字符串并输出未出现的字母

var str = prompt("请输入一串英文:");
var m = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
m = m.split(",");
for (i = 0; i < m.length; i++) {
    if (str.indexOf(m[i]) == -1) {
        document.write(m[i] + "<br>");
    }
}

4. 输入整数并获取第k位上的数字

var m = prompt("输入一个整数:");
document.write(m + "<br>");
k = prompt("请输入k的值:");
document.write("第" + k + "位上的数是:" + m.charAt(k - 1) + "<br>");

5. 输出对称且为平方数的数字

for (a = 100; a < 100000; a++) {
    a = a.toString();
    len = a.length;
    if (len == 3) {
        if (a.charAt(0) == a.charAt(a.length - 1) && a % Math.sqrt(a) == 0) {
            document.write(a + "<br>");
        }
    } else if (len == 4) {
        continue;
    } else {
        if (a.charAt(0) == a.charAt(a.length - 1) && a.charAt(1) == a.charAt(a.length - 2) && a % Math.sqrt(a) == 0) {
            document.write(a + "<br>");
        }
    }
}

JavaScript 杨辉三角

代码如下:

function print(v) {
    if (typeof v == "number") {
        var w = 30;
        if (n < 30) w = (n - 30) + 40;
        var s = '<span style="padding:4px 2px;display:inline-block;text-align:center;width:' + w + 'px;">' + v + '</span>';
        document.write(s);
    } else {
        document.write(v);
    }
}
var n = prompt("请输入幂数:", 9);
n = n - 0;
var t1 = new Date();
var a1 = [1, 1];
var a2 = [1, 1];
print('<div style="text-align:center;">');
for (var i = 0; i <= n; i++) {
    for (var j = 1; j < i + 2; j++) {
        print(c(i, j));
    }
    print("<br />");
}
print("</div>");
var t2 = new Date();
print("<p style='text-align:center;'>耗时为(毫秒):" + (t2 - t1) + "</p>");
function c(x, y) {
    if ((y == 1) || (y == x + 1)) return 1;
    return c(x - 1, y - 1) + c(x - 1, y);
}

扩展资料

杨辉三角的特点:

  1. 每个数等于它上方两数之和。
  2. 每行数字左右对称,由1开始逐渐变大。
  3. 第n行的数字有n项。
  4. 前n行共[(1+n)n]/2 个数。
  5. 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
  6. 第n行的第m个数和第n-m+1个数相等,为组合数性质之一。
  7. 每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。

js代码解密求救

把后面段贴上来,我帮你解。