คำเตือน: นี่ไม่ใช่ความท้าทาย "เฮ้ลองวาดเค้กด้วยศิลปะ ASCII"! โปรดอ่านต่อ);
บางครั้งที่ผ่านมามันเป็นวันเกิดของฉันฉันตอนนี้ 33
ดังนั้นจึงมีประเพณีทางสังคมที่น่าอึดอัดใจนี้ประกอบด้วยการเชิญครอบครัวและเพื่อน ๆ วางเทียนที่มีหมายเลขเหมือนบนเค้กร้องเพลงและของขวัญเปิด
33
--------
แทนที่จะใช้ตัวเลขฉันสามารถใช้ระบบเลขฐานสองในการวางเทียนมาตรฐานได้: ฉันวางไว้ 6 ชิ้นบนเค้กและจุดสองจุด
100001
--------
ฉันเห็นได้ว่าทั้งเลขทศนิยมและเลขฐานสองในยุคของฉันนั้นช่างน่ากลัวมาก!
ท้าทาย
ฉันต้องการที่จะรู้ว่าหมายเลขอื่น ๆ สามารถวางบนเค้กด้วยเทียนและเป็น Palindromic ทศนิยมและไบนารี
เขียนโปรแกรม / ฟังก์ชั่นเพื่อทดสอบว่าตัวเลขเป็น palindromic ทั้งทศนิยมและไบนารี แต่เดี๋ยวก่อนมีอีกมากมาย: ในระบบเลขฐานสอง, เลขศูนย์นำหน้าสำหรับการทดสอบ!
อินพุต
ทศนิยม x จำนวนที่ผมอยากจะทดสอบว่ามันเป็นวันเกิดของ palindromic ด้วย 0 <x <2 32 -1 (ใช่คนที่อยู่ในมิติของฉันอาศัยอยู่นานมาก)
เอาท์พุต
ความจริงถ้ามันตรงตามเงื่อนไขทั้งสองนี้ Falsey:
- การแทนค่าทศนิยมของตัวเลขคือ palindrome มาตรฐาน
- การแทนเลขฐานสองของจำนวนนั้นเป็นแบบมาตรฐานและการเพิ่มศูนย์นำหน้าอาจช่วยได้
กรณีทดสอบ
1 > 1 => Truthy
6 > 110 (0110) => Truthy
9 > 1001 => Truthy
10 > 1010 (01010) => Falsey, 10 is not palindromic
12 => 1100 (001100) => Falsey, 12 is not palindromic
13 => 1101 (...01101) => Falsey, neither 13 nor 1101 are palindromic
14 => 1110 (01110) => Falsey, 14 is not palindromic
33 > 100001 => Truthy
44 > 101100 (..0101100) => Falsey, 101100 is not palindromic
1342177280 > 1010000000000000000000000000000 (00000000000000000000000000001010000000000000000000000000000) => Falsey, 1342177280 is not palindromic (but the binary representation is)
297515792 > 10001101110111011101100010000 (000010001101110111011101100010000) => Truthy
กฎระเบียบ
- ช่องโหว่มาตรฐานไม่ได้รับอนุญาต
- อนุญาตให้มีการแปลงและการทดสอบห้องสมุดในตัว
- นี่คือโค้ดกอล์ฟซึ่งเป็นรหัสที่สั้นที่สุดที่จะชนะ!
ขอให้โชคดีและในที่สุดก็สุขสันต์วันเกิด!
0b01010000000000000000000000000000
ไม่ใช่ palindromic เนื่องจากมันจะต้องมีเลขศูนย์เพิ่มและต้องเกิน 2 ^ 32-1? ในกรณีนี้มันจะช่วยในการเพิ่มบางสิ่งบางอย่างเช่น1342177280
กรณีทดสอบเท็จ
1342177280
ไม่ใช่ Palindromic ทศนิยมดังนั้น Falsey การแก้ไข