Jelly , 13 nhân vật có ý nghĩa, thách thức ngôn ngữ
R µ ọḊ *@Ḋ ċ >2 µ Ðf
Hãy thử trực tuyến!
Tất cả khoảng trắng ở đây là không đáng kể. Tôi đã sử dụng nó để hiển thị cấu trúc câu trả lời của tôi, như câu hỏi yêu cầu.
Đây là cách nó hoạt động:
R µ ọḊ *@Ḋ ċ >2 µ Ðf
R Ðf Find all numbers n from 1 to the input, such that:
µ µ (grouping marks, like {} in C)
Ḋ Ḋ Take the range from 2 to n
ọ Find the number of times each divides n
*@ Raise the range from 2 to n to these powers
ċ Count the number of times n appears
>2 and the result must be greater than 2
Vì vậy, ví dụ, khi kiểm tra n = 256, chúng tôi kiểm tra số lần mỗi số từ 2 đến 256 chia thành 256. Các số duy nhất chia nhiều lần là 2 (chia 8 lần), 4 (chia 4 lần), 8 (chia hai lần) và 16 (chia hai lần). Vì vậy, khi chúng tôi tăng số lượng các đơn vị cho các quyền lực được xác định ở đó, chúng tôi nhận được:
2⁸, 3, 4⁴, 5, 6, 7, 8², 9, 10, 11, 12, 13, 14, 15, 16², 17, ..., 255, 256
Điều này tạo ra giá trị ban đầu, 256, số lần bằng với cách 256 là một công suất hoàn hảo, cộng với một (phần tử cuối cùng tạo ra 256 vì 256 = 256¹). Vì vậy, nếu chúng ta thấy 256 hơn hai lần trong mảng (và chúng ta làm trong trường hợp này; 8² là 64 nhưng các yếu tố "thú vị" khác đều tạo ra 256), thì đó phải là một sức mạnh hoàn hảo.