1. 程式人生 > >溢出 關於最後一位

溢出 關於最後一位

fin ... 但是 class 加密算 tin === In 關於

// 定義 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 為 偏移量,正 就是 往前 偏移 ,負 就是 往回 偏移;

溢出 關於最後一位