式
たとえば、数300
- 300の素因数は
[2, 3, 5]
(300の素数で素数である一意の数) - これらの各数値を二乗すると、
[4, 9, 25]
- そのリストを合計すると、
4 + 9 + 25 = 38
- 最後に元の数からその合計(38)を引きます
300-38 = 262
(これが結果です)
入力
入力は2より大きい正の整数になります。2から入力値(両端を含む)までのすべての数値をチェックし、上記の式で最大の結果をもたらす数値を見つける必要があります。
出力
出力は、スペース、コンマ、改行、または言語で許可されているもので区切られた2つの数字になります(2つの数字を区別するには、区切りが必要です)。これらは、ファイル、stdout、または言語で使用されるものに出力できます。目標は、上記の式を実行したときに最大出力を生成する範囲内の数値を見つけることです。表示される最初の番号は開始番号(300など)で、2番目の番号は式が生成した出力(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
スコアリングとルール
入力と出力のデフォルトのルールが適用されます:Code Golfのデフォルト:入出力メソッド
標準の抜け穴は禁止されています
:デフォルトで禁止されている抜け穴
は、機能または完全なプログラムです
バイト単位の最短コードが勝つ
50
: 35, 48
?