【JavaScript程序员必做的50题】

写在前面

本文代码均在html中script标签中运行,执行代码打开浏览器可查看代码输出情况.

网上找的题都是45道题,答案各种语言版本千奇百怪,特地整理了适合js的版本.

//1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

count = 0;

for(var i=1;i<=4;i++){//输出百位的数字

    for(var j=1;j<=4;j++){//输出十位的数字

        for(var k=1;k<=4;k++){//输出个位的数字

            if(i!=j && i!=k && j!=k){

            console.log(i,j,k)

            count++;

            }

        }

    }

}

document.write("能组成" + count + "个这样的数")

/*2.企业发放的奖金(bonus)根据利润(profit)提成。

利润低于或等于10万元时,奖金可提10%;

利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;

20万到40万之间时,高于20万元的部分,可提成5%;

40万到60万之间时高于40万元的部分,可提成3%;

60万到100万之间时,高于60万元的部分,可提成1.5%,

高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数?*/

var profit = Number(prompt("请输入当月利润"));

bonus = 0;

if (profit >0 && profit <=100000){

    bonus = profit*0.1;

}else if (profit >100000 && profit <=200000){

    bonus = 10000+(profit-100000)*0.075;

}else if (profit >200000 && profit <=400000){

    bonus = 17500+(profit-200000)*0.05;

}else if (profit >400000 && profit <=600000){

    bonus = 27500+(profit-400000)*0.03;

}else if (profit >600000 && profit <=1000000){

    bonus = 33500+(profit-600000)*0.015;

}else if (profit >1000000){

    bonus = 39500+(profit-1000000)*0.01;

}document.write('应发放奖金总数'+bonus);

3.一个整数,它加上100后是一-个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

for(var i=-10000;i<10000;i++){

    a = parseInt(Math.sqrt(i+100));

    b = parseInt(Math.sqrt(i+268));

    if(a*a===(i+100)&&b*b===(i+268)){

        document.write(i,"<br>");

    }

}

//4.输入某年某月某日,判断这一天是这一年的第几天?

//利用switch语句

var year = Number(prompt("请输入年份"));

var month = Number(prompt("请输入月份"));

var day = Number(prompt("请输入天数"));

var sum = 0;//记录总天数

switch(month-1){

    case 11:sum+=30;

    case 10:sum+=31;

    case 9:sum+=30;

    case 8:sum+=31;

    case 7:sum+=31;

    case 6:sum+=30;

    case 5:sum+=31;

    case 4:sum+=30;

    case 3:sum+=30;

    case 2:sum+=28;

    case 1:sum+=31;

    case 0:sum+=day;

}

if(month>2){

    if(year%400 == 0 || year%4 == 0 && year%100 != 0){

        sum++;

    }

}

document.write(sum);

//利用数组运算

var year = Number(prompt("请输入年份"));

var month = Number(prompt("请输入月份"));

var day = Number(prompt("请输入天数"));

var days = [31,28,31,30,31,30,31,31,30,31,30,31];

var sum = 0;

for(var i=1;i<=month-1;i++){

    sum += days[i-1];

}

if(month>2){

    if(year%400 == 0 || year%4 == 0 && year%100 != 0){

        sum++;

    }

}

sum += day;

document.write(sum);

//5.输入三个整数x,y,z,请把这三个数由小到大输出。  

    var x = Number(prompt("请输入第一个整数"));

    var y = Number(prompt("请输入第二个整数"));

    var z = Number(prompt("请输入第三个整数"));

    var c = 0;

    if(x > y){

        c = y;

        y = x;

        x = c;

    }

    if(x > z){

        c = z;

        z = x;

        x = c;

    }

    if(y > z){

        c = z;

        z = y;

        y = c;

    }

    document.write("按从小到大的顺序排列输入的整数"+ " "+ x +" " + y + " " + z);

//6.用*号输出字母C的图案。

for(var i=1;i<=5;i++){

    switch(i){

        case 1: case 5:

            document.write("   ***");

            document.write("<br>");

        break;

            case 2: case 4:

            document.write(" *");

            document.write("<br>");

            break;

        case 3 :

            document.write("*");

            document.write("<br>");

            break;

        default:

            break;

    }

}

// 7.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

var num = 90;

var a = num+'=';

for(var i=2;i<=num;i++){

    if(num%i===0){

        num/=i;

        a+=i+'*'

        i=1;

    }

}

a = a.slice(0,a.length-1)

document.write(a)

// 8.输出9*9口诀。

 for(var i=1;i<=9;i++){

     for(var j=1;j<=i;j++){

         document.write(i + "*" + j + "=" + i*j + " ");

         if((i == 3 || i == 4)&&j == 2){

             document.write("  ");

         }

     }document.write("<br>");

 }

// 9.要求输出国际象棋棋盘

 for(var i=1;i<=8;i++){

     for(var j=1;j<=8;j++){

        if((i+j)%2===0) {

        document.write("□  ");

        }else{

            document.write("■  ");

        }

       

     }document.write("<br>");

 }

// 10.古典问题:有1对兔子,从出生后第3个月起每个月都生1对兔子,小兔子长到第3个月后每个月又生1对兔子,假如兔子都不死,问每个月的兔子总数为多少?(斐波那契数列)

 

//显然在图中,我们的黑点表示的是成熟兔子,白点表示的是小兔子。我们够仔细的话能够发现,右边这一列数字是有规律的。第一个数和第二个数为1,之后的每一个数为之前两个数之和。比如,六月份的兔子数量为四月份和五月份兔子数量之和,即8=5+3。

//(此外,我们再仔细看一下,六月份的兔子中有五对黑(成熟)兔子和三对白兔子, 8=5+3。同样是8=5+3,但是该等式和上式中的5与3表示了不同的意义,那么他们之间有木有本质的联系呢。实际上5对黑兔子不就是上个月的5对兔子变来的嘛,只不过其中的白兔子都变为了黑兔子,即5=5; 三只白兔子从哪来的,它们是四月份的三对兔子生的,不管黑白,到了五月份都是黑兔子,六月份的时候也就只有它们能生小兔子,而且必须生一对小兔子,所以3=3。)

function r(n){

var r1 = 1,r2 = 1;//第一个月和第二个月各为一对

var m= " ";//中间值 m

    for(var i=3;i<=n;i++){

        m = r1;//新一代的兔子由第一月的老兔子生来的

        r1 = r2;// 第二月未成熟的兔子在第三月变成熟

        r2 = m + r1;//总和

    }

    return "兔子的总和数是"+r2;

    }

document.write(r(prompt("请输入月数")));

// 递归思想解决

function f(n){

    if(n == 0||n == 1){

        return 1;

    }

    return f(n-1)+f(n-2);

}

document.write(f(prompt("请输入月数")));

//11.判断101-200之间有多少质数,并输出所有质数。

//能被1和数字自己本身整除的数叫质数,如果整除次数等于两次就是质数

for(var sum = 0,var i=101;i<=200;i++){

    for(var count = 0,var j=1;j<=i;j++){

        if(i%j == 0){

        count ++; 

        }

    }

        if (count == 2){

            sum++;

            document.write(i); 

            document.write("<br>"); 

        }

}

   document.write("共有"+sum+"个质数"); 

// 12.题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”, 因为153=1 的三次方+5的三次方+3的三次方。

for(var i=1;i<10;i++){

    for(var j=0;j<10;j++){

        for(var k=0;k<10;k++){

            sum = 100*i+10*j+k;

            if((i*i*i)+(j*j*j)+(k*k*k) === sum){

                document.write(sum);

                document.write("<br>");

            }

        }

    }

}

// 13.利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89 分之间的用B表示,6 0分以下的用C表示。

score = Number(prompt("请输入百分制的分数"));

level = "";

if(score >= 90){

    level = "A";

}else if(score >= 60 && score <= 89){

    level = "B";

    }else level = "C";

 document.write("该分数的等级是" + level);

//14.输入两个正整数m和n,求其最大公约数和最小公倍数。

var m = Number(prompt("请输入一个正整数"));

var n = Number(prompt("请输入一个正整数"));

var l = m*n;

if(m<n){//比较大小,把大的数放前面

    temp = m;

    m = n;

    n = temp;

}

while(m!=0){//辗转相除到余数是为0为止

//(基本原理如下:
用欧几里德算法(辗转相除法)求两个数的最大公约数的步骤如下:
先用小的一个数除大的一个数,得第一个余数;
再用第一个余数除小的一个数,得第二个余数;
又用第二个余数除第一个余数,得第三个余数;
这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数))

    g = n%m;

    n = m;

    m = g;

}

document.write("最大公约数是"+ n);

document.write("最小公倍数是"+ (l/n));

15.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

function statistics(x){

// 常用的Unicode值范围

// 汉字:[0x4e00,0x9fa5](或十进制[19968,40869])

// 数字:[0x30,0x39](或十进制[48, 57])

// 小写字母:[0x61,0x7a](或十进制[97, 122])

// 大写字母:[0x41,0x5a](或十进制[65, 90])

//空格:十进制32

    var script = 0,letter = 0,blank = 0,digit = 0,charset = 0;

    for(var i=0;i<x.length;i++){

        a = x.charCodeAt(i)

        if(a >= 19968){

            script++;

        }else if((a >= 65 && a<=90) || (a >=97 && a<=122)){

            letter++;

        }else if(a >= 48 && a <= 57){

            digit++;

        }else if(a === 32){

            blank++;

        }else{

            charset++;

        }

    }

    return "中文有:"+script+"个,英文有:"+letter+"个,数字有:"+digit+"个,空格有:"+blank+"个,其他字符有:"+charset+"";

}

document.write(statistics(prompt()));

// 16.求s=a+aa+aaa+aaa+…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

function add(a,b){

    var a = Number(prompt("请输入一个数字"));

    var b = Number(prompt("循环相加多少次?"));

    var newnumber = 0;

    var total = 0;

    for(var i=0;i<b;i++){

        newnumber = newnumber * 10 + a;

         if(i>0){

             document.write("+");

         }

        document.write(newnumber);

        total += newnumber;

    }

    return document.write("=" + total);

}

add();

// 17.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。

for(var i=1;i<1000;i++){

        k = 0;

    for(var j=1;j<i;j++){//j是因子

        if(i%j == 0){

            k += j;

        }

    }

        if(i == k){

            document.write(i);

            document.write("<br>");

        }

}

// 18.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

var j = 100;

var L = 0;

for(var i=1;i<=10;i++){

    L += j;

    j /= 2;

}

document.write("共经过"+L+"");

document.write("<br>");

document.write("第10次反弹"+j+"");

 // 19.猴子吃桃问题:猴子第一天摘下若干个桃子, 当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

var t=1;

for(var i=1;i<10;i++){

    t = (t+1)*2;

}

    document.write(t);

    document.write("<br>");

// 20.两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

x ="x".charCodeAt();

y ="y".charCodeAt();

z ="z".charCodeAt();

for(var a=x;a<=z;a++){

    for(var b=x;b<=z;b++){

        for(var c=x;c<=z;c++){

            if(a!=b&&b!=c&&a!=c&&a!=x&&c!=x&&c!=z){

                document.write("a的对手是" + String.fromCharCode(a) + "<br>" + "b的对手是" +String.fromCharCode(b)+ "<br>" + "c的对手是" +String.fromCharCode(c));

            }  

        }

    }

}

// 21.有一分数序列: 2/1, 3/2, 5/3, 8/5,13/8, 21/13… 求出这个数列的前20项之和。

var a = 2;

var b = 1;

var sum = 0;

for(var i=1;i<=20;i++){

    sum += (a/b);

    temp = b;

    b = a;

    a = temp + a;

}

document.write(sum);

// 22.求1+2!+3!+…+20!的和。

var sum = 0;

var a = 1;

for(i=1;i<=20;i++){

    a *= i;

    sum += a;

}

document.write(sum);

// 23.利用递归方法求5!。

function a(x){

    if(x==1){

        return 1;

    }else

    return x*a(x-1);

}

document.write(a(5));

// 24.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

function versa(x){

    if(x.length<=1){

        return x;

    }else{

        return x.charAt(x.length-1) + versa(x.slice(0,x.length-1));

    }

}

document.write(versa(prompt("请输入字符")));

// 25.有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2人大两岁。问第2个人,说比第1个人大两岁。最后问第1个人,他说是10岁。请问第五个人多大?

var age = 10;

for(var i=1;i<5;i++){

    age +=2;

}

document.write(age);

// 26.给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

function num(x){

    a = x.toString();

    s = a.length-1,e = '';

    for(var i=0;s>=0;s--){

        e += a[s];

        i++;

    }

    document.write("是一个"+i+"位数,逆序打印:"+e)

}

num(prompt("请输入一个不多于5位的正整数"));

// 27.题目: 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

var a = Number(prompt("请输入一个五位数"));//如果不限位数的话用.length确定位数

var wan = parseInt(a/10000);

var qian = parseInt(a%10000/1000);

var shi = parseInt(a%100/10);

var ge = parseInt(a%10);

if(wan==ge&&qian==shi){

    document.write(a+"是回文数");

}else{

    document.write(a+"不是回文数");

}

//先转字符串再获取字符串的字符

function palindromic(x){

    a = x.toString();

    g = parseInt(a.length/2);

    for(var i=0;i<g;i++){

        if(a[i]!==a[a.length-1-i]){

            return document.write(x+"不是回文数");

        }

    }

    return document.write(x+"是回文数");

}

palindromic(12321);

// 28.请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样, 则继续判断第二个字母。

//monday thuesday wednesday thursday friday saturday sunday

function week(x){

    var a = prompt("请输入第一个字母");

    if(a != "m" &&a != "t"&&a != "w"&&a != "f"&&a != "s"){

        document.write("您输入的字母不是星期英文字母");

    }else if(a == "m"){

        document.write("Monday");

    }else if(a == "w"){

        document.write("Wednesday");

    }else if(a == "f"){

        document.write("Friday");

    }else if(a == "t"||a == "s"){

        b = prompt("请输入第二个字母");

        if(b != "h"&&b != "a"&&b != "u"){

            document.write("您输入的字母不是星期英文字母");

        }else if(b == "a" ){

            document.write("Saturday");

        }else if(b == "u"){

            document.write("Sunday")

        }else if (b == "h"){

            c = prompt("请输入第三个字母");

            if(c != "u"){

                document.write("您输入的字母不是星期英文字母");

            }else if(c == "u"){

                d = prompt("请输入第四个字母");

                if(d != e&&d != r){

                    document.write("您输入的字母不是星期英文字母");

                }else if(d == "e"){

                    document.write("Thuesday");

                }else if(d == "r"){

                    document.write("Thursday");

                }

            }

        }

    }

}

week();

// 29.对10个数进行排序。

//循环遍历数组,找出数组中最大的数,依次替换数组中的数字,直到第五位

var a = [3,45,50,6,88];

for(var i=0;i<a.length;i++){

    for(var j=0;j<a.length;j++){

            // document.write("i="+i+","+"a["+i+"]是"+a[i]);

            // document.write("<br>");

            // document.write("j="+j+","+"a["+j+"]是"+a[j]);

            // document.write("<br>");

            // document.write(a);

            // document.write("<br>");

        if(a[i]<a[j]){

            x = a[i];

            a[i] = a[j]

            a[j] = x;

            // document.write(a);

            // document.write("<br>");

        }

    }

}

document.write(a);

// 30.求一个3*3矩阵对角线元素这和。

var a = [[12,45,78],

     [23,56,89],

     [41,52,63]];

document.write(a[0][0]+a[1][1]+a[2][2]);

document.write("<br>");

document.write(a[0][2]+a[1][1]+a[2][0]);

// 31.有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

function rank(x){

    var a= [3,6,9,15,20,88];

    a[a.length] = x;

    for(var i=0;i<a.length;i++){

        for(var j=0;j<a.length;j++){

            if(a[i]<a[j]){

                c = a[i];

                a[i] = a[j];

                a[j] = c;

            }

        }

    }

    return document.write(a);

}

rank(10);

// 32.将一个数组逆序输出。

var a = [10,11,12,13,14,15];

var b = [];

var i=0;

for(var j=a.length;j>0;j--){

    b[i] = a[j-1];

    i++;

}

// 33.打印出杨辉三角形(要求打印出10行如下图)

a = [];

for(var i=0;i<=10;i++){

    a[i] = new Array();

}

for(var i=0;i<=10;i++){

    for(var j=0;j<=i;j++){

        if(j===0||j===i){

            a[i][j] = 1;

        }else{

            a[i][j] = a[i-1][j-1]+a[i-1][j];

        }

    document.write(a[i][j]+" ");

    if(i==j){

        document.write("<br>");

        }

    }

}

// 34.输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

var a = [8,12,87,56,32,46,5,48];

var max = a[0],x = 0;

var min = a[0],n = 0;

for(var i=0;i<a.length;i++){

    if(max<a[i]){

        max = a[i];

        x = i;

    }

    if(min>a[i]){

        min = a[i];

        n = i;

    }

}

b = a[0];

a[0] = max;

a[x] = b;

c = a[a.length-1];

a[a.length-1] = min;

a[n] = c;

document.write(a);

// 35.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数.

var n = [12,45,78,13,46,79,17,28,39,47];

var a = n.slice(-5);

document.write(a.concat(n));

// 36.题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

//数组解决

var arr =[];

var a = 0;

for(var i = 0;i<10;i++){

    arr.push(i);

}

num = (arr.length-1);//固定初始数组的长度

for(var i=0;i<num;i++){//10个人剩一个人删了九个人

    for(var j=0;j<2;j++){//每第三个人删一次

        a++;

        if(a>arr.length-1){//数组每次循环都会删减,而a会自增,删无可删时从零开始

            a = 0;

        }

    }

    arr.splice(a,1);//在位置a删除后一个元素,可选添加新元素

   

}document.write(arr);

//递归算法解决

//ysf(n,m,i)总人数n,报数m出局,第i个人出局,编号(k-1+n)%n的出局

// 如果报数3出局:ysf(10,3,2)=ysf(9,3,1)+3=5

// 如果报数6出局:ysf(10,6,1)=5,ysf(10,6,2)=1=(ysf(9,6,1)+6)%10

// 即ysf(n,m,i)=ysf((n-1,m,i-1)+m)%10 i!=1

function ysf(n,m){//设f(n,k,i)为n个人的环,报数为m

        if(n == 1){

            return 0;

        }else{

            return (ysf(n-1,m)+m)%n;

        }

    }

n = prompt("请输入一共多少个人");

m = prompt("报数到几退出");

    document.write(ysf(n,m));

// 37.写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

function main(a){

    var a = (prompt("请输入一个字符串"));

    l = a.length

    document.write("该字符串的长度是",l);

}

main();

// 38.编写一个函数,输入n位偶数时,调用函数1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n

function a(x){

    var x = prompt("请输入一个正数")

    var sum = 0;

    for(var i=x;i>1;i-=2){

        sum += 1/i;

    }

    return document.write(sum);

}

a();

// 39.海滩上有一堆桃子,五只猴子来分。

// 第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。

// 第二只猴子把剩下的桃子又平均分为五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,

// 第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

var n = 6;//能除以5余1

while(true){

    n = n + 5;

    index =n;

    var t = 0;

    for(var i=1;i<=5;i++){

        if((index-1)%5 == 0){

            index = (index-1)/5 *4;

            t++;

        }else{

            break;

        }

    }

    if(t == 5){

        document.write(n);

        break;

    } 

}

// 40. 809*??=800*??+9*??+1其中??代表的两位数.8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。(题目有问题,无解)

for(var i=10;i<=99;i++){

    if(8*i>=10&&8*i<=99&&9*i>=100&&9*i<=999&&(809*i==800*i+9*i)){

        document.write(i);

        document.write("<br>");

        document.write(809*i);

    }

}

// 41.八进制转换为十进制

//十进制转为八进制直接用.toString(8)转

var num1=425;

var num2=0;

num1=num1.toString();

for(i=num1.length-1,root=1;i>=0;i--){

num2+=Number(num1[i])*root;

root*=8;

}

document.write(num2);

// 42.求0——7所能组成的奇数个数。

var i =0;

for(var a=0;a<=7;a++){

    for(var b=0;b<=7;b++){

        for(var c=0;c<=7;c++){

            for(var d=0;d<=7;d++){

                for(var e=0;e<=7;e++){

                    for(var f=0;f<=7;f++){

                       for(var g=0;g<=7;g++){

                            aa = a*1000000;

                            bb = b*100000;

                            cc = c*10000;

                            dd = d*1000;

                            ee = e*100;

                            ff = f*10;

                            sum = aa+bb+cc+dd+ee+ff+g;

                            if(sum%2!==0){

                                i++;

                            }

                        }

                    }

                }

            }

        }

    }

}

document.write(i);

// 43.一个偶数总能表示为两个素数之和。

//随机一个偶数n,从2~n里找出两个素数,条件是和等于这个偶数n.

var n = (Math.floor(Math.random()*1000+1)*2);//2~2000的随机数

var a = [];

for(var i =2;i<=n;i++){

    count = 0;

    for(var k=2;k<i;k++){

        if(i%k == 0){

            count++;

        }

    }

    if(count == 0){

        a.push(i);

    }

}

document.write(a);

document.write("<br>");

for(var j=1;j<a.length;j++){

    for(var k=1;k<=j;k++){

        if(a[j]+a[k]==n){

            document.write(n+"="+a[j]+"+"+a[k]);

            document.write("<br>");

        }

    }

}

// 44.判断一个素数能被几个9整除

//这个题很奇怪,能被9整除本身就不是素数了,但是没找到其他描述情况,只能按照逻辑把代码写出来.

var n = prompt("请输入一个素数");

chushi = n;

//先判断输入的数是不是素数

var count = 0;

for(var i=2;i<n;i++){

    if(n%i == 0){

    count++;

    break;

    }

}

if(count !== 0){

    document.write("你所输入的数不是素数")

}else if(n%9 != 0){

    document.write(chushi+"能被0个9整除")

}else{for(var sum=0;n%9!=0;n-9,sum++){

    n%9 == 0;

}}document.write(chushi+"能被"+sum+"个9整除")

// 45.题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换.      

var a = "6572";

var aa =[];

var temp = 0;

var d = "";

for(var i=0;i<4;i++){

    aa[i]=(Number(a[i])+5)%10

}

temp = aa[0];

aa[0] = aa[3];

aa[3] = temp;

temp = aa[1];

aa[1] = aa[2];

aa[2] = temp;

for(var i=0;i<4;i++){

    d += Number(aa[i]);

}

document.write(d);

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Season_0210

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值