공식
숫자 300을 예로 들어 봅시다.
- 300의 소수는
[2, 3, 5]
( 300의 소수 이고 소수 인 고유 한 숫자) - 각 숫자를 제곱하면
[4, 9, 25]
- 그 목록을 합하면
4 + 9 + 25 = 38
- 마지막으로 원래 숫자에서 그 합계 (38)를 뺍니다 (
300-38 = 262
결과입니다)
입력
입력은 2보다 큰 양의 정수입니다. 2에서 입력 값 (포함)까지의 모든 숫자를 확인하고 위의 수식으로 가장 큰 결과를 산출하는 숫자를 찾아야합니다.
산출
출력은 공백, 쉼표, 줄 바꿈 또는 언어에서 허용하는 것 (두 숫자를 구분하기 위해 구분해야 함)으로 구분 된 두 숫자입니다. 이것들은 파일, stdout 또는 당신의 언어가 사용하는 모든 것에 출력 될 수 있습니다. 당신의 목표는 위의 공식을 통해 실행할 때 최대 출력을 생성하는 범위의 숫자를 찾는 것입니다. 표시되는 첫 번째 숫자는 300과 같은 시작 번호 여야하고 두 번째 숫자는 262와 같은 공식이 생성 한 출력이어야합니다.
테스트 사례
Input: 3 Output: 2, -2
Input: 10 Output: 8, 4
Input: 50 Output: 48, 35
Input: 1000 Output: 1000, 971
Input: 9999 Output: 9984, 9802
예제를 통해 작업
10의 입력을 고려하면 2-10 (포함)의 모든 숫자에 대한 수식을 실행해야합니다.
Num PrimeFacs PrimeFacs^2 SumPrimeFacs^2 Result
2 [2] [4] 4 -2
3 [3] [9] 9 -6
4 [2] [4] 4 0
5 [5] [25] 25 -20
6 [2, 3] [4, 9] 13 -7
7 [7] [49] 49 -42
8 [2] [4] 4 4
9 [3] [9] 9 0
10 [2, 5] [4, 25] 29 -19
보시다시피 가장 큰 결과는입니다 4
. 이는 8
수식에 값 을 입력 한 결과입니다 . 즉의 입력에 대한 출력 수단 10
되어야한다8, 4
점수 및 규칙
입력 및 출력의 기본 규칙이 적용됩니다. 코드 골프의 기본값 : 입력 / 출력 방법
표준 허점 은 금지됩니다. 기본적으로 금지
된 허점은
기능 또는 전체 프로그램 일 수 있습니다.
바이트 단위의 최단 코드 승리
50
: 35, 48
?