算法35 ◉‿◉ 电话加密
本帖最后由 不二如是 于 2017-6-8 07:04 编辑http://xxx.fishc.com/forum/201705/05/225545py2j222x5z6x55n2.png
按照提示,完成代码,秀秀你的编程能力!
不许看答案,否则打屁屁
程序分析:
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的。
加密规则如下:每位数字都加上 5, 然后用和除以 10 的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
源代码:
**** Hidden Message *****
○面试题索引贴●
如果喜欢,请订阅{:10_303:} :
HTML5 - 庖丁解牛 + JavaScript - 庖丁解牛
python
import functools
def encrypt(num):
n = * 4
for i in range(4):
n = (num % 10 + 5) % 10
num //= 10
n.reverse()
return functools.reduce(lambda x, y: 10 * x +y, n) window.onload = function(){
var num = prompt('请输入一个四位数作为要加密的数据');
var arr = [];
arr.push(parseInt(num/1000));
arr.push(parseInt(num % 1000 / 100));
arr.push(parseInt(num % 100 / 10));
arr.push(parseInt(num % 10));
document.write('原来的数字是:'+arr+'<br/>');
for(var i = 0; i < arr.length; i++){
arr = (arr + 5) % 10;
}
arr ^= arr;
arr ^= arr;
arr ^= arr;
arr ^= arr;
arr ^= arr;
arr ^= arr;
document.write('加密后的数字是:'+arr+'<br/>');
}; 你可以问问神奇的海螺 请问怎么解密
..
var encrypt = function(val1){
var val = val1.toString(); //处理每位数+5
var a=parseInt(val)+5,b=parseInt(val)+5,c=parseInt(val)+5,d=parseInt(val)+5;
var abcd = ;
var rar = [],t,y;
for(var i=0;i<abcd.length;i++){
if(abcd<10){
console.log(abcd); //小于10直接跳过
continue;
}
else{ //大于10取余代替
var compare_num = abcd.toString();
console.log(compare_num);
var Yu = compare_num;
rar.push(Yu);
}
}
//1、4位换位
t = abcd;
abcd = abcd;
abcd = t
//2/3位换位
y = abcd;
abcd = abcd;
abcd = y
console.log(abcd);
}
encrypt(1234); 求解
学习 1 function returnEncode(num){
var a = [];
for(var i = 0;num>1;i++){
a.unshift((parseInt(num%10)+5)%10);
num /= 10;
}
var temp1 = a;
a = a;
a = temp1;
var temp2 = a;
a = a;
a = temp2;
} studying javascript... 1
1 0.0 0 var a=2345;
a1 = (parseInt(a/1000)+5)/10;
a2 = (parseInt(a%1000/100)+5)/10;
a3 = (parseInt(a%1000%100/10)+5)/10;
a4= (parseInt(a%1000%100%10)+5)/10;
a =parseFloat(""+a4+a3+a2+a1);
alert(a); <script>
x=prompt("数字:");
let a=Array(4);
for (let i of x) {
i=parseInt(i);
i=(i+5)%10;
a.push(i);
}
a=a.reverse();
alert(a.join(""))
</script>
页:
[1]