ท้าทาย:
ในภาษาการเขียนโปรแกรมที่คุณเลือกยอมรับจำนวนเต็ม เป็นอินพุตในฐาน 10 และส่งออกในเครื่องหมายลบซึ่งเป็นที่รู้จักกันว่าฐาน -10
อัลกอริทึมตัวอย่าง:
นี่เป็นอัลกอริทึมที่นำมาจาก Wikipedia เพื่อแปลงฐาน 10 เป็นฐานลบใน VB.NET :
Function toNegativeBase(Number As Integer , base As Integer) As System.Collections.Generic.List(Of Integer)
Dim digits As New System.Collections.Generic.List(Of Integer)
while Number <> 0
Dim remainder As Integer= Number Mod base
Number = CInt(Number / base)
if remainder < 0 then
remainder += system.math.abs(base)
Number+=1
end if
digits.Insert(0, remainder)
end while
return digits
end function
เห็นได้ชัดว่าคุณสามารถใช้อัลกอริทึมใดก็ได้ตราบเท่าที่มันตอบสนองความท้าทาย
ตัวอย่างอินพุต / เอาท์พุต:
การป้อนข้อมูล:
12
เอาท์พุท:
192
ตัวอย่างอื่น:
การป้อนข้อมูล:
2048
เอาท์พุท:
18168
กฎ:
คุณต้องไม่ใช้วิธีการในตัวที่แก้ไขปัญหาที่มีอยู่ในภาษาการเขียนโปรแกรมของคุณ
นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ!
[0, 1, 8, 1, 6, 8]
เป็นเอาต์พุตที่ยอมรับได้สำหรับอินพุต2048
หรือไม่