前端第一周,Javascript--天练习

文章介绍了如何使用公用电话进行加密数据传输,通过四位整数加密规则(每位加5取余并交换位置),随后展示了99乘法表生成和素数判断的函数实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   // 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

        // 每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,

        // 请编写一个函数,传入原文,返回密文。

        // 返回值是 密文

            function encipher(num){

                var q = (parseInt(num/1000)+5)%10;

                var b = (parseInt(num%1000/100)+5)%10;

                var s = (parseInt(num%100/10)+5)%10;

                var g = (num%10+5)%10;

                var x = q;

                q = g;

                g = x;

                x = b;

                b = s;

                s = x;

                return ''+q+b+s+g;

            }

            var n1 = encipher(3921);

            console.log(n1);

            var n2 = encipher(5947);

            console.log(n2);

        console.log('-----------------华丽的分割线--------------');

        // 编写函数实现99乘法表和表格的结合

            function table99(n){

                var tab = '<table border="">';

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

                    tab += '<tr>'

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

                        tab += '<td>'+j+'x'+i+'='+j*i+'</td>';

                    }

                    tab += '</tr>';

                }

                tab += '</table>';

                return tab;

            }

            var biao1 = table99(9);

            document.write(biao1);

            var biao2 = table99(5);

            document.write(biao2);

        console.log('-----------------华丽的分割线--------------');

        // 编写函数实现 打印 指定区间的(例如100-200之间)的所有素数

            // 素数/质数:除1和自身以外没有其他的因数。除了1和它本身以外不再有其他因数的自然数

            // 只能被 1 和 自身 整除,其他数字都不能将其整除

            // 提示:循环嵌套,break语句

            function PrimeNumber(num1,num2){

                console.log(num1,num2);

                var min = num1>num2?num2:num1;

                var max = num1>num2?num1:num2;

                console.log(min,max);

                // 控制循环所有需要验证是否为素质的数字,每循环一次的循环变量都是需要验证的数字

                for(var i=min;i<=max;i++){  // 100

                                            // 101

                                            // 102

                                            // 103

                                            // 104

                                            // 105

                                            // 106

                    // 控制验证外层循环的数字是否为数字,从 2到比外层循环的数字-1的数字区间验证

                    for(var j=2;j<i;j++){   // 2

                                            // 2 3 4 5 6 7 8 9 ..... 99 100 101

                                            // 2

                                            // 2 3 4 5 6 7 8 9 ..... 99 100 101 102 103

                                            // 2

                                            // 2 3

                                            // 2

                        // 验证当前i的值是否为素数,如果i%j==0只要成立,就说明不是

                        if(i%j==0){

                            // 跳出循环,跳出的是内层循环,

                            // 因为只要有一个数字验证成功,就说明不是,后面的数字没有必要验证了

                            break;

                        }

                    }

                    // 判断当前的i是否为素数,条件成立就是素数

                        // 因为只有当这个数字是素数,我们内层循环变量的值在循环终止后才会和当前的i相等

                    if(j===i){

                        // 打印素数

                        console.log(i+' 是 素数/质数');

                    }

                }

            }

            PrimeNumber(100,200);

            PrimeNumber(20,50);


 

            function PrimeNumber2(num1,num2){

                console.log(num1,num2);

                var min = num1>num2?num2:num1;

                var max = num1>num2?num1:num2;

                console.log(min,max);

                // 控制循环所有需要验证是否为素质的数字,每循环一次的循环变量都是需要验证的数字

                for(var i=min;i<=max;i++){

                    // 假设需要验证的每一个数字都是素数,在每个数字验证之前先声明一个变量

                    // 变量赋值为true,如果等验证之后,falg变量的值还是true,就说明这个数字是素数

                    // 相当于定义了一个开关

                    var flag = true;

                    // 控制验证外层循环的数字是否为数字,从 2到比外层循环的数字-1的数字区间验证

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

                        // 验证当前i的值是否为素数,如果i%j==0只要成立,就说明不是

                        if(i%j==0){

                            // 改变开关的值

                            flag = false;

                            // 跳出内层循环

                            break;

                        }

                    }

                    // 验证flag变量的值如果为true,当前的i就是素数

                    if(flag){

                        console.log(i+'是素数/质数')

                    }

                }

            }

            PrimeNumber2(100,200);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值