Code Review에서 경쟁사 친구들 의이 질문 에서 영감을 얻었습니다 .
정의
슈퍼 어레이는 어레이의 각각의 새로운 요소는 이전의 모든 원소의 합보다 큰 배열이다. {2, 3, 6, 13}
슈퍼 배열이기 때문에
3 > 2
6 > 3 + 2 (5)
13 > 6 + 3 + 2 (11)
{2, 3, 5, 11}
슈퍼 배열 이 아닙니다 . 왜냐하면
3 > 2
5 == 3 + 2
11 > 5 + 3 + 2
아요 어레이는 어레이의 각각의 새로운 요소는 이전의 모든 요소의 제품보다 더 큰 배열이다. {2, 3, 7, 43, 1856}
수퍼 어레이이지만 듀퍼 어레이 이기도합니다.
3 > 2
7 > 3 * 2 (6)
43 > 7 * 3 * 2 (42)
1856 > 43 * 7 * 3 * 2 (1806)
도전
언어 기본 목록 형식으로 배열을 입력으로 사용하고 배열이 얼마나 우수한지를 결정하는 함수 또는 프로그램을 작성하십시오. 선택적으로 배열 길이 입력을 취할 수도 있습니다 (C / C ++와 같은 언어의 경우). 또한 목록의 모든 숫자가 0보다 큰 정수라고 가정 할 수 있습니다. 수퍼 배열 인 It's a super array!
경우 인쇄해야합니다 . 수퍼 듀퍼 배열 인 경우 인쇄해야합니다 It's a super duper array!
. 배열이 듀 퍼일 수도 있습니다. 슈퍼가 아닙니다. 예를 들어 {1, 2, 3}
,이 경우 인쇄해야 It's a duper array!
합니다. 어레이가 수퍼 또는 듀 퍼가 아닌 경우 잘못된 값을 인쇄 할 수 있습니다.
평소와 같이 이것은 코드 골프이므로 표준 허점이 적용되고 바이트 단위의 최단 답변이 이깁니다.
{1, 2, 3}
어레이에 "duper-non-super"를 의미한다고 확신 하십니까?
2 * 1
에 평등해야 3
합니다.
super[space][space]array
허용 된다면 여전히 더 많이 절약 할 수 있습니다 .