js代码求对称数(中心对称数js)
更新: 2022-11-13 02:24
本文目录一览:
- js为完全对称偏差,故其上下偏差相等为什么是错的
- js方法求2-200之间素数的代码
- 一个对称数为95859两小时出现新的对称数问该车速为多少javascript
- JavaScript 问题答案!!
- JavaScript 杨辉三角
- 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
思路:
- 从95859开始递增,逐个判断是否为对称数,得到95859后的一个对称数。
- 得到两数的差并除以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开始逐渐变大。
- 第n行的数字有n项。
- 前n行共[(1+n)n]/2 个数。
- 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
- 第n行的第m个数和第n-m+1个数相等,为组合数性质之一。
- 每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。
js代码解密求救
把后面段贴上来,我帮你解。