เมื่อเร็ว ๆ 25,121
นี้ชื่อเสียงของฉันคือ ฉันสังเกตเห็นว่าการจัดกลุ่มตัวเลขแต่ละหลัก (เช่นตัวเลขคั่นด้วยเครื่องหมายจุลภาค) เป็นรูปสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบ
ความท้าทายของคุณคือให้เป็นจำนวนเต็มที่ไม่ใช่ลบNและฟังก์ชันกล่องดำ แบบบูล unary f : Z * → Bให้ค่าจริงถ้าแต่ละค่าfนำไปใช้กับการจัดกลุ่มหลักของNคือความจริงและเท็จเป็นอย่างอื่น
หนึ่งสามารถค้นหาการจัดกลุ่มหลักโดยแยกหมายเลขออกเป็นกลุ่ม 3 โดยเริ่มจากด้านขวา กลุ่มซ้ายสุดอาจมี 1, 2 หรือ 3 หลัก ตัวอย่างบางส่วน:
12398123 -> 12,398,123 (3 digit groupings)
10 -> 10 (1 digit grouping)
23045 -> 23,045 (2 digit groupings)
100000001 -> 100,000,001 (3 digit groupings)
1337 -> 1,337 (2 digit groupings)
0 -> 0 (1 digit grouping)
กฎเพิ่มเติม
- ฟังก์ชั่นนี้สามารถแมปกับบูลีน (เช่น
true
และfalse
),1
s และ0
s หรือค่าความจริง / เท็จ โปรดระบุคำตอบของคุณในรูปแบบใด - คุณอาจใช้จำนวนเต็มเป็นอินพุตหรือสตริงจำนวนเต็ม (เช่นสตริงที่ประกอบด้วยตัวเลข)
- คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น
- เมื่อส่งกลุ่มดิจิตอลไปยังฟังก์ชันfคุณควรตัดเลขศูนย์นำที่ไม่จำเป็นทั้งหมด ตัวอย่างเช่นfเมื่อใช้กับN = 123,000 ควรถูกดำเนินการเป็นf (123) และf (0)
กรณีทดสอบ
สัญกรณ์ฟังก์ชั่นคือn -> f(n)
เช่นn -> n == 0
. ตัวดำเนินการทั้งหมดจะใช้เลขคณิตเลขจำนวนเต็ม (เช่นsqrt(3) == 1
)
function f
integer N
boolean result
n -> n == n
1230192
true
n -> n != n
42
false
n -> n > 400
420000
false
n -> n > 0
0
false
n -> n -> 0
1
true
n -> sqrt(n) ** 2 == n
25121
true
n -> sqrt(n) ** 2 == n
4101
false
n -> mod(n, 2) == 0
2902414
true
n -> n % 10 > max(digits(n / 10))
10239120
false
n -> n % 10 > max(digits(n / 10))
123456789
true
n -> n > 0
นำไปใช้กับ0
) กรณีทดสอบเพราะคำตอบส่วนใหญ่ล้มเหลว
[0]
พวกเขาเป็น