คำปฏิเสธ
คำถามนี้ไม่ซ้ำกับคำถามนี้ ฉันไม่ได้นับตัวเลขเฉพาะเนื่องจากเรามีการตั้งค่าเหล่านั้นไว้ในพารามิเตอร์เริ่มต้นแล้ว คำถามนี้มุ่งเน้นไปที่ตัวเลขทศนิยมที่สามารถสร้างได้จากสตริงไบนารีตามตัวเลขที่ให้ไว้
ท้าทาย
กำหนดจำนวนเต็มสองจำนวนXและYแสดงจำนวนศูนย์ ( 0) และคน ( 1) ตามลำดับคำนวณจำนวนเทียบเท่าทศนิยมที่เป็นไปได้ทั้งหมดที่สามารถกำหนดได้จากการสร้างสตริงไบนารีโดยใช้เฉพาะเลขศูนย์และคนที่ให้และแสดงเป็นเอาท์พุท
ตัวอย่างที่ 1:
การป้อนข้อมูล: 0 1
เอาท์พุท: 1
คำอธิบาย: มีเพียง1บัญชีเดียวเท่านั้นที่สามารถทำการแปลงได้ทางเดียวเท่านั้น
ตัวอย่างที่ 2:
การป้อนข้อมูล: 1 1
เอาท์พุท: 1,2
คำอธิบาย: 01แปลงเป็น 1, 10แปลงเป็น 2
ตัวอย่างที่ 3:
การป้อนข้อมูล: 3 2
เอาท์พุท: 3,5,6,9,10,12,17,18,20,24
คำอธิบาย: สาม0และสอง1ยี่ห้อ00011(3), 00101(5), 00110(6), 01001(9), 01010(10), 01100(12), 10001(17), 10010(18), 18 10100(20), 11000(24)
ข้อ จำกัด และกฎ
- ฉันเท่านั้นที่จะคาดหวังว่ารหัสของคุณในการทำงานที่
0 < X + Y <= 16ดังนั้นจำนวนสูงสุดในการส่งออกเพียงอย่างเดียวอาจเกิดขึ้นตั้งแต่วันที่ 161s พารามิเตอร์เช่นและ016 - อันเป็นผลมาจากข้อ จำกัด ข้างต้นช่วงของตัวเลขที่เราคาดหวังในการส่งออกจากและ
065535 - ฉันจะรับฟังก์ชั่นหรือรหัสตราบใดที่มีการส่งออกผลลัพธ์ไม่ว่าจะเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค, อาร์เรย์, รายการที่ส่งออกไปยัง STDOUT เป็นต้นเกณฑ์เดียวที่ฉันต้องเน้นเกี่ยวกับผลลัพธ์คือต้องเรียงลำดับ
- นี่คือโค้ดกอล์ฟไบต์ต่ำสุดจะได้รับเกียรติสูงสุด
- เราจะไม่ยอมให้ช่องโหว่โง่ ๆ
0 0หรือไม่?
0 <= X + Y <= 16ใช่เพราะ0 0จะถือว่าเป็นข้อมูลที่ถูกต้องซึ่งเป็นไปตามกฎนั้น
0 0คืออะไร เลข0สามารถแสดงเป็นศูนย์ได้ศูนย์หนึ่งศูนย์ขึ้นไป