码迷,mamicode.com
首页 > 其他好文 > 详细

溢出 关于最后一位

时间:2018-06-12 19:34:42      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:tin   nbsp   算法   ==   result   fun   upper   密码   style   

// 定义 find 函数,用于返回 在字符串中的 index
var find = function(s1,s2) {
    var len = s1.length;
    if (s1.includes(s2)) {
        for (var i = 0; i < len; i++) {
            var str = s1[i];
            if (str == s2) {
                return i;
            }
        }
    }
    return -1;
}



/*实现一个叫 凯撒加密 的加密算法, 描述如下 对于一个字符串, 整体移位, 就是加密 以右移 1 位为例 原始信息 ‘afz‘ 会被加密为 ‘bga‘ 实现 encode1 函数, 把明文加密成密码并返回 右移 1 位 */ // 考虑 溢出 比如 超过了给定的范围 9 + 1 =0 ‘dhy‘ ‘eiz‘ var lower = ‘abcdefghijklmnopqrstuvwxyz‘ var upper = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ‘ // lower.length = 26; indexmax = 25; var encode1 = function(s) { var result = ‘‘; for (var i = 0; i < s.length; i++) { var index = find(lower,s[i]); var next = (index + 1) % 26; // index 25 的时候是特殊的;下一个是 0;单单 +1 无法解决; // 分类 也能解决;但是 不统一 result += lower[next]; } return result; }
// 测试函数
var test_encode1 = function() { ensure(encode1(‘afz‘) === ‘bga‘, "encode1测试1") ensure(encode1(‘crp‘) === ‘dsq‘, "encode1测试2") } test_encode1()
//  这个问题  可以归纳 为
var  a = [........];
var shift = ...;
var  l = a.length;
var Nextindex = ( Curentindex + shift ) %  a;

// shift 为 偏移量,正 就是 往前 偏移 ,负 就是 往回 偏移;

 

溢出 关于最后一位

标签:tin   nbsp   算法   ==   result   fun   upper   密码   style   

原文地址:https://www.cnblogs.com/hezhouhang/p/9174515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!