어떻게 플러스 1 조작 으로 감법 을 실현 합 니까?

1132 단어 Blog
전재 하 다  http://www.matrix67.com/blog/archives/944/trackback
 
 
 이러한 컴퓨터 시스템 을 구상 하면 다음 과 같은 몇 가지 조작 만 지원 합 니 다.    1. 변 수 를 정의 하고 변수 에 값 을 부여 합 니 다.    2. 변수 자체 에 1 을 추가 합 니 다.    3. 한 단락 의 문 구 를 지정 한 횟수 로 순환 시 킵 니 다.  이 시스템 은 0 과 정수 만 처리 할 수 있다.시스템 에 넘 치 는 문제 가 존재 하지 않 습 니 다.  이 시스템 은 비교 연산 이 없 으 며, 사실상 Boolean 값 과 판단 문 구 는 존재 하지 않 습 니 다.  순환 문 구 는 FOR i = a TO b DO 형식 도 아니 고 LOOP n 형식 일 수 밖 에 없다.
  이 시스템 에서 덧셈 을 실현 하 는 것 은 매우 쉬 워 서 a 를 b 회 증가 시 키 면 된다.지금 문 제 는 이 시스템 에서 감법 을 실현 할 수 있 느 냐 는 것 이다.
 
  문 제 는 자감 일 조작 을 어떻게 실현 하 느 냐 하 는 것 이다.  원래 - 1 을 n 회 증가 시 키 면 n 의 자체 감 소 를 실현 할 수 있 지만 시스템 은 하필 이면 마이너스 도 지원 하지 않 습 니 다.  Dingding 님 이 답 을 주 셨 어 요.tmp = 0
result = 0
loop(n) {
   result = tmp
   tmp++
}

  이 코드 가 실 행 된 후 result 의 값 은 n - 1 로 변 합 니 다.이 코드 가 증가 할 때 어떻게 교묘 하 게 한 걸음 늦 어 졌 는 지 알 아 차 렸 다.  지금 우 리 는 1 을 줄 이 는 함수 dec 가 있 는 셈 이다.a - b 를 실현 하려 면 a 를 b 회 만 줄 이면 됩 니 다.result = a
loop(b) {
   dec(result)
}

좋은 웹페이지 즐겨찾기