บทนำ
ในการแชทส่วนตัวเพื่อนของฉันเพิ่งสะดุดกับระบบความปลอดภัยซึ่งมีข้อ จำกัด สองข้อต่อไปนี้ในพินที่ถูกต้อง:
- แต่ละหลักต้องไม่ซ้ำกัน (นั่นคือ "1" อาจปรากฏเพียงครั้งเดียวเท่านั้น)
- ลำดับของตัวเลขไม่สำคัญ ("1234" = "4321")
ดังนั้นเพื่อแสดงให้เห็นว่าระบบกุญแจนี้แย่เพียงใดเรามาแจกแจง PIN ที่ถูกต้องทั้งหมด!
อินพุต
ข้อมูลที่คุณป้อนจะประกอบด้วยจำนวนเต็มบวกจำนวนเต็มเดียวซึ่งหมายถึงความยาวของ PIN
เอาท์พุต
ผลลัพธ์ของคุณประกอบด้วยรายการจำนวนเต็มหรือสตริงที่ไม่เป็นลบ * ซึ่งระบุ PIN ที่ถูกต้องทั้งหมดของความยาวที่กำหนด
* สิ่งที่มนุษย์สามารถใช้เพื่อลองชุดค่าผสมทั้งหมดหากคุณต้องการพิมพ์ให้พวกเขา ซึ่งหมายความว่าชุดของชุดของตัวเลขและอาร์เรย์ของตัวเลขนั้นใช้ได้
ใครชนะ?
นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ! มาตรฐานกฎระเบียบและช่องโหว่ใช้
คดีมุม
- พฤติกรรมเอาท์พุทไม่ได้กำหนดถ้าจำนวนเต็มมากกว่า 10 คือการป้อนข้อมูล
- การเรียงลำดับตัวเลขภายในแต่ละรายการเอาต์พุตไม่ได้ถูกกำหนดเนื่องจากรายการที่มีศูนย์ประกอบด้วยศูนย์ดังกล่าวจริงนั่นคือคุณไม่สามารถตัด "0123" ถึง "123" แต่ "1230", "1203" และ "1023" ทั้งหมดถูกต้อง ตามที่เป็น "0123"
กรณีทดสอบ
1
[0,1,2,3,4,5,6,7,8,9]
2
[10,20,30,40,50,60,70,80,90,21,31,41,51,61,71,81,91,32,42,52,62,72,82,92,43,53,63,73,83,93,54,64,74,84,94,65,75,85,95,76,86,96,87,97,98]
3
[210,310,410,510,610,710,810,910,320,420,520,620,720,820,920,430,530,630,730,830,930,540,640,740,840,940,650,750,850,950,760,860,960,870,970,980,321,421,521,621,721,821,921,431,531,631,731,831,931,541,641,741,841,941,651,751,851,951,761,861,961,871,971,981,432,532,632,732,832,932,542,642,742,842,942,652,752,852,952,762,862,962,872,972,982,543,643,743,843,943,653,753,853,953,763,863,963,873,973,983,654,754,854,954,764,864,964,874,974,984,765,865,965,875,975,985,876,976,986,987]
4
[3210,4210,5210,6210,7210,8210,9210,4310,5310,6310,7310,8310,9310,5410,6410,7410,8410,9410,6510,7510,8510,9510,7610,8610,9610,8710,9710,9810,4320,5320,6320,7320,8320,9320,5420,6420,7420,8420,9420,6520,7520,8520,9520,7620,8620,9620,8720,9720,9820,5430,6430,7430,8430,9430,6530,7530,8530,9530,7630,8630,9630,8730,9730,9830,6540,7540,8540,9540,7640,8640,9640,8740,9740,9840,7650,8650,9650,8750,9750,9850,8760,9760,9860,9870,4321,5321,6321,7321,8321,9321,5421,6421,7421,8421,9421,6521,7521,8521,9521,7621,8621,9621,8721,9721,9821,5431,6431,7431,8431,9431,6531,7531,8531,9531,7631,8631,9631,8731,9731,9831,6541,7541,8541,9541,7641,8641,9641,8741,9741,9841,7651,8651,9651,8751,9751,9851,8761,9761,9861,9871,5432,6432,7432,8432,9432,6532,7532,8532,9532,7632,8632,9632,8732,9732,9832,6542,7542,8542,9542,7642,8642,9642,8742,9742,9842,7652,8652,9652,8752,9752,9852,8762,9762,9862,9872,6543,7543,8543,9543,7643,8643,9643,8743,9743,9843,7653,8653,9653,8753,9753,9853,8763,9763,9863,9873,7654,8654,9654,8754,9754,9854,8764,9764,9864,9874,8765,9765,9865,9875,9876]