이상은 자연어이다. 프로그래밍 언어를 사용한다면, 분명히 추리할 수 없다. 그것은 빈궁할 수 있을 뿐, 재귀 함수를 사용할 수 있다. 아이디어는 이렇습니다.
전제 조건: 1. 다른 사람에게 주는 것은 1 또는 0 원입니다. 2. 함수 find(a), a) 가 있습니다. 여기서 a 는 나머지를 나타냅니다. 남은 인원수를 판단하고 분배 방안을 제시한 사람의 장점은 무엇입니까? 다음은 룩업 코드입니다.
개인 find(a) 는 정수입니다
Dim b 는 정수입니다
K(a)= 1' 나 자신을 부양할 거야
B=0' 반대자 수
A=5 인 경우
Find= 100
기타
I= 1 4 의 경우
A+I < 그럼 =5
만약 (a+i)> 1 과 (I mod 2 = 1) S 가 무조건 너를 반대한다면 내가 홀수라면 더 많은 이익을 얻을 수 있다.
B=b+ 1
K(a-i)=0
만약 ... 끝날거야
만약 ... 끝날거야
다음으로 저는
Find= 100-b
A= 1 이면
인쇄 "직접 가져 가라."
인쇄 100-b
인쇄 "1 yuan 을 받은 다른 사람:"
I=2 ~ 5 의 경우
K(i)= 1 이면
인쇄 I
만약 ... 끝날거야
다음으로 저는
만약 ... 끝날거야
나는 시도하지 않았다, 문제가 있을 것이다. 。