사용자에게 4 자리 숫자를 묻는 중입니다. 그런 다음 각 숫자를 (해당 숫자 + 7의 합계) 모듈러스 10으로 바꿉니다. 그런 다음 첫 번째 숫자를 세 번째 숫자로 바꾸고 두 번째 숫자를 네 번째 숫자로 바꿉니다. 그런 다음 암호화 된 숫자를 출력하십시오. 그래서 내가 1234에 입력하면 0189로 암호화하거나 5948에 입력하고 1526으로 암호화해야합니다.4 자리 입력 및 변경 순서 적용
문제는 9810과 6251입니다. 나는 가깝지만 잘못된 순서로있다.
<script type="text/javascript">
var temp;
var number;
var first;
var second;
var third;
var fourth;
var fifth;
//prompt for first number
do {
inputNumber = window.prompt("Enter only a 4 digit number");
if ((isNaN(inputNumber) || !(inputNumber.length == 4)))
window.alert("please enter a number or length of 4");
} while ((isNaN(inputNumber)) || !(inputNumber.length == 4));
//temp = inputNumber;
temp = parseInt(inputNumber);
first = temp % 10; //process each number one by one
temp = temp/10;
second = temp % 10;
temp = temp/10;
third = temp % 10;
temp = temp/10;
fourth = temp % 10;
swap = first;
first = third;
third = swap;
swap = second;
second = fourth;
fourth = swap;
first = parseInt(first);
second = parseInt(second);
third = parseInt(third);
fifth = parseInt(fifth);
fourth = parseInt(fourth);
first = (first + 7) % 10
second = (second + 7) % 10
third = (third + 7) % 10
fourth = (fourth + 7) % 10
var incrypted = first * 1000 + second * 100 + third * 10 + fourth * 1;
//var incrypted = first * 1000 + second + third * 10 + fourth * 1;
document.writeln("<h1>The number " + inputNumber + " is encrypted as " + incrypted + ".</h1><br />");
</script>
난 당신의 코드를 가지고 (정말 이런 식으로 뭔가를 디버깅하는 가장 좋은 도구이다) Node.js를 함께 실행
vec: [0, 1, 8, 9]
는 fifth'이 정의되지 '라고 말한다. – bluefeet