2 + 2 = 6 then 1 + 3 =?


최상의 답변

이에 대한 흥미로운 답변이 많이 있습니다… 기묘한 질문… 내 행운을 시험해 보는 것이 좋을 것 같습니다. ?

그러므로 2 + 2 = 6 1 + 3 =?

방법 1 :

이 질문은 어떻게 든 수학 트릭과 퍼즐 아래에 태그가 지정됩니다. 우리가 알고있는 모든 수학적 논리 (예 : ceteris paribus)를 중단 할 수 있습니다.

자세히 살펴보면 두 방정식의 차이는 -1 (2 → 1) +1 (2 → 3)입니다. ceteris paribus 가 언급 된 것처럼 가정하면 답변은 -1 도 경험해야합니다. 및 +1.

그러므로 간단한 대답은 다음과 같습니다.

1 + 3 = 6

방법 2 :

그리고 이것은 퍼즐, 다른 관점에서 살펴 보겠습니다. 다른 방법은 알파벳을 사용하기 시작했지만 결함이있을 수 있지만 일반적인 대체 기술을 시도해 보겠습니다.

2 = 3이라고 가정하겠습니다.

2u = 3 그러므로 1u = 1.5 및 3u = 4.5

따라서 1 + 3 = 1.5 + 4.5 = 6

방법 3 :

우리는 4 개의 숫자 (2, 2, 1, 3)가 있고 그 중 2 개는 같은 숫자 (2)가 있습니다. . 곱셈을 사용한다면 숫자를 두 방정식으로 나눈다면 어떨까요?

2 × 3 = 6입니다. 남았습니다. 2와 1이있는 경우

따라서 2 × 1 = 2 = 1 + 3 = 2입니다.

가능한 답이 너무 많아서 모두 수학적 법칙을 구부리는 창의력으로 귀결됩니다.

업데이트 : 퍼즐과 손에 대한 문자 접근 방식이 정말 마음에 듭니다. 가장 논리적이면서도 퍼즐에 가장 적합한 방법이어야합니다.

답변

+ 기호를 오버로딩해야하는 것 같습니다.

어때요? 주어진 정수 (토론을 위해 Rabbit이라고 부르는)가 +의 양쪽에 나타나는 표현식이 있다면, Rabbit을 두 배로 곱하고 결과를 제곱 한 다음 Rabbit을 사각형에 추가해야합니다. 따라서 7 + 7은 7을 두 배로 늘려야 함을 의미합니다. 14는 196입니다. 마지막으로 7에 196을 더하여 203을줍니다.

쉬운 부분 인 것 같습니다. 저에게있어 퍼즐의 흥미로운 부분은 Scala에서 오버로드 된 + 메서드의 정의를 작성하는 방법입니다.이 정의의 본문은 재귀 참조가 아닌 단순 추가라는 일반적인 의미로 +를 사용할 수 있습니다.

저는 그것에 대해 머리를 긁적입니다.

업데이트 : 다음 Scala REPL 대화는 Rabbit이라는 새로운 데이터 유형의 맥락에서 + 새로운 의미를 부여하는 방법을 보여줍니다.

scala> case class Rabbit(i: Int) {def +(y:Rabbit):Int=4*i*i+y.i}

defined class Rabbit

scala> Rabbit(7)

res5: Rabbit = Rabbit(7)

scala> res5+res5

res6: Int = 203

scala> (1 to 7).map(Rabbit(\_)).map(r=>r+r)

res7: scala.collection.immutable.IndexedSeq[Int] = Vector(5, 18, 39, 68, 105, 150, 203)

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다