การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

5
ค้นหานายกที่ใหญ่ที่สุดซึ่งยังคงเป็นไพรม์หลังจากการลบตัวเลข
มากกว่าที่/math/33094/deleting-any-digit-yields-a-prime-is-there-a-name-for-thisคำถามนี้ถูกถาม มีจำนวนเฉพาะที่เหลืออยู่หลังจากคุณลบตัวเลขใดตัวเลขหนึ่ง ยกตัวอย่างเช่น719เป็นสำคัญเช่นคุณได้รับ71, และ19 79ในขณะที่คำถามนี้ยังไม่ได้รับการแก้ไขฉันคิดว่ามันเป็นความท้าทายที่ดี งาน. ให้นายกที่ใหญ่ที่สุดที่คุณสามารถพบได้ซึ่งยังคงเป็นนายกรัฐมนตรีอยู่หลังจากที่คุณลบหนึ่งหลัก คุณควรระบุรหัสที่พบ คะแนน. คุณค่าของนายกที่คุณให้ คุณสามารถใช้ภาษาการเขียนโปรแกรมและไลบรารี่ใด ๆ ก็ได้ตามต้องการ ในการเริ่มต้นสิ่งต่าง ๆ99444901133จะได้รับมากที่สุดในหน้าเชื่อมโยง เวลาที่ จำกัด. ฉันจะยอมรับคำตอบที่ถูกต้องที่ใหญ่ที่สุดที่ให้ไว้หนึ่งสัปดาห์หลังจากคำตอบที่ถูกต้องครั้งแรกที่ใหญ่กว่าที่99444901133ได้รับในคำตอบ จนถึงตอนนี้คะแนน Python (พรีโม่) 4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111 J (randomra) (คำตอบนี้เริ่มจับเวลาหนึ่งสัปดาห์ในวันที่ 21 กุมภาพันธ์ 2013) 222223333333

1
จุดจบของหมากรุก: สีขาวถึง Mate In One
ด้วยตารางตัวอักษรขนาด 8x8 ที่แสดงถึงสถานะปัจจุบันของเกมหมากรุกงานของโปรแกรมของคุณคือการค้นหาการเคลื่อนไหวครั้งต่อไปสำหรับสีขาวซึ่งจะส่งผลให้เกิดการรุกฆาต อินพุต อินพุตจะอยู่ใน STDIN - 8 บรรทัดละ 8 ตัวอักษร ความหมายของตัวละครแต่ละตัวมีดังนี้: K/k - king Q/q - queen B/b - bishop N/n - knight R/r - rook P/p - pawn - - empty square ตัวอักษรตัวพิมพ์ใหญ่หมายถึงชิ้นส่วนสีขาวและตัวพิมพ์เล็กแสดงถึงสีดำ กระดานจะถูกวางเพื่อให้สีขาวกำลังเล่นขึ้นจากด้านล่างและสีดำกำลังเล่นจากด้านบน เอาท์พุต ย้ายสีขาวให้ผลในการรุกฆาตในสัญกรณ์พีชคณิต คุณไม่จำเป็นต้องสังเกตุเมื่อชิ้นส่วนถูกนำมาใช้และคุณไม่จำเป็นต้องกังวลเกี่ยวกับการแก้ปัญหาระหว่างสองชิ้นที่เหมือนกันซึ่งสามารถเคลื่อนไหวได้เหมือนกัน ตัวอย่างอินพุต ตัวอย่างที่ 1 การป้อนข้อมูล: ------R- --p-kp-p -----n-- --PPK--- p----P-r B------- -------- …
19 code-golf  chess 

3
ชีวิตที่แปลกประหลาดของรังผึ้ง
นักวิจัยได้ค้นพบอาณานิคมผึ้งที่น่าสนใจซึ่งอาศัยอยู่ในทุ่งรวงผึ้งที่ไม่มีที่สิ้นสุด: แต่ละเซลล์สามารถเลี้ยงผึ้งได้หรือไม่ ในความเป็นจริงชีวิตของสิ่งมีชีวิตเหล่านั้นดูเหมือนจะวุ่นวาย ... สามารถคำนวณได้ว่าอาณานิคมจะเริ่มต้นด้วยรูปแบบต่อไปนี้เสมอ: (ผึ้งวาดโดย เอ็มมานู Boutet ในวิกิพีเดีย . นี้ภาพรังผึ้งและผึ้งจึงออกภายใต้ CC-By-SA . grumbles ) หลังจากนั้นวงจรชีวิตของผึ้งจะถูกแบ่งออกเป็นรุ่นที่เรียกว่า ผึ้งเก่าแต่ละรุ่นตายและฟักใหม่และขึ้นอยู่กับเพื่อนบ้านของเซลล์เป็นหลัก: หากผึ้งมีเพื่อนบ้านน้อยกว่าสองคนมันจะตายเนื่องจากความเหงา หากผึ้งมีเพื่อนบ้านมากกว่าสามคนมันจะตายเนื่องจากความแออัด หากเซลล์มีผึ้งสองหรือสามหรือสี่ตัวในเซลล์ข้างเคียงผึ้งตัวใหม่จะฟักที่นั่นในรุ่นต่อไป ผึ้งที่ตายจะไม่ตายจนกว่าจะถึงยุคสุดท้ายดังนั้นพวกมันจึงยังคงมีผลต่อเซลล์รอบข้างที่อาจฟักผึ้งในรุ่นต่อไป ตอนนี้เรารู้แล้วว่าอาณานิคมเหล่านี้ทำงานอย่างไรเราสามารถจำลองมันได้หลายชั่วอายุคน อินพุต อินพุตเป็นหมายเลขเดียวNซึ่งถูกกำหนดให้กับอินพุตมาตรฐานถูกยกเลิกโดยตัวแบ่งบรรทัด 0 ≤ N ≤ 150 นี่คือจำนวนรุ่นที่จะจำลอง เอาท์พุต เอาท์พุทเป็นตัวเลขเดี่ยวในเอาต์พุตมาตรฐานและตามด้วยตัวแบ่งบรรทัดเดียวซึ่งแทนจำนวนผึ้งที่มีชีวิตหลังจาก รุ่นN เอาต์พุตเพิ่มเติมเกี่ยวกับข้อผิดพลาดมาตรฐานจะถูกละเว้น อินพุตตัวอย่าง 0 5 42 100 ตัวอย่างผลลัพธ์ 6 44 1029 5296 สภาพการชนะ รหัสที่สั้นที่สุดชนะเช่นเดียวกับในกอล์ฟ ในกรณีที่เสมอกันการแก้ปัญหาก่อนหน้านี้ชนะ กรณีทดสอบ มีสองสคริปต์ทดสอบที่มีกรณีทดสอบเหมือนกัน: ทุบตี …

3
Hashiwokakero: สร้างสะพาน!
Hashiwokakero ("สร้างสะพาน" เป็นภาษาญี่ปุ่น) เป็นปริศนาที่คุณได้รับมอบหมายให้เชื่อมต่อกลุ่มเกาะกับสะพาน กฎคือ: สะพานจะต้องวิ่งทั้งแนวตั้งและแนวนอนระหว่างสองเกาะ สะพานอาจไม่ข้ามซึ่งกันและกัน คู่เกาะอาจเชื่อมต่อกันด้วยสะพานขนานที่มากที่สุดสองแห่ง แต่ละเกาะจะมีหมายเลขตั้งแต่ 1 ถึง 8 รวมอยู่ด้วย จำนวนสะพานที่เชื่อมต่อกับเกาะจะต้องตรงกับหมายเลขบนเกาะนั้น สะพานจะต้องเชื่อมต่อเกาะต่างๆเข้าด้วยกันเป็นกลุ่มเดี่ยว งานของคุณคือการเขียนโปรแกรมที่จะแก้ปริศนา Hashiwokakero คุณอาจสันนิษฐานว่าปริศนาที่ให้มานั้นสามารถแก้ไขได้และมีวิธีแก้ปัญหาเพียงวิธีเดียว โปรแกรมควรมีประสิทธิภาพพอสมควร ตัวอย่างเช่นการแก้ปริศนา 25x25 ด้านล่างไม่ควรใช้เวลามากกว่า 10 นาทีสำหรับพีซีทั่วไปและไม่ควรใช้หน่วยความจำเกินกิกะไบต์ การแก้ตัวต่อขนาดเล็กเช่น 7x7 ควรใช้เวลาไม่กี่วินาที การป้อนข้อมูล: ตัวต่อจะได้รับเป็นแผนที่ของตัวละคร 2 มิติโดยมีตัวเลข1เพื่อ8เป็นตัวแทนของเกาะและพื้นที่เป็นตัวแทนของน้ำ เส้นจะถูกบุด้วยช่องว่างหากจำเป็นเพื่อให้ความยาวเท่ากันหมด หมู่เกาะจะถูกแยกออกในแนวนอนและแนวตั้งเสมอด้วยน้ำอย่างน้อยหนึ่งตารางเพื่อให้มีที่ว่างสำหรับวางสะพานที่มีศักยภาพระหว่างพวกเขา จะมีเกาะอย่างน้อยสองแห่งในปริศนา โปรแกรมของคุณควรอ่านแมปปริศนาจากอินพุตมาตรฐาน แต่คุณอาจระบุวิธีป้อนข้อมูลสำรองหากภาษาการเขียนโปรแกรมของคุณต้องการ เอาท์พุท: เอาต์พุตควรเป็นเหมือนอินพุตยกเว้นช่องว่างที่ถูกแทนที่ด้วยบริดจ์ตามความจำเป็น สะพานควรวาดโดยใช้อักขระการวาดกล่อง Unicode ─(U + 2500), │(U + 2502), ═(U + 2550) และ║(U …
19 code-golf 

1
Finder Sudoku ที่ไม่เหมือนใคร
ท้าทาย: ให้บอร์ด Sudoku บนอินพุตมาตรฐานค้นหาจำนวนขั้นต่ำที่เพิ่มเข้ามาเพื่อทำให้กระดานไม่ซ้ำใคร ข้อมูลจำเพาะ / กฎ: อินพุตถูกจัดรูปแบบดังนี้ (ช่องว่างทั้งหมดมีความสำคัญ) 516|827|943 278|394|615 349|615|872 ---+---+--- 98 |4 2|156 465|189|237 12 |5 6|489 ---+---+--- 892|743|561 634|951|728 751|268|394 เอาต์พุตถูกจัดรูปแบบด้วยหนึ่งหมายเลขต่อบรรทัดจัดรูปแบบเช่น(x,y):z- x และ y เริ่มจากหนึ่งที่มุมบนซ้ายและเพิ่มลงและขวา; z คือหมายเลขที่จะเพิ่ม ในกรณีนี้ทั้งหมดเหล่านี้จะเป็นผลที่ถูกต้อง: (3,4):3, (3,4):7, (5,4):3, (5,4):7, (3,6):3, (3,6):7, (5,6):3และ(5,6):7เป็นหนึ่งในเหล่านี้จะช่วยให้คณะกรรมการที่จะได้รับการแก้ไข หากมีการป้อนบอร์ด Sudoku ที่ไม่เหมือนใคร / แก้ไขโปรแกรมไม่ควรพิมพ์อะไรแม้แต่บรรทัดใหม่ โปรแกรมควรรันในบอร์ดน้อยกว่าหนึ่งชั่วโมง (ฉันแนะนำให้ทดสอบโดยใช้บอร์ดเปล่าหรือกระดานที่มีตัวเลขสุ่มหนึ่งอันอยู่บนมัน ... ) เกณฑ์การให้คะแนน: ใช้ขนาดรหัสทั้งหมด …
19 code-golf  game  sudoku 

17
พิมพ์ชุดคันทอร์
ความท้าทาย สร้าง N-เลื่อนระดับต้นเสียงชุด ชุดที่ประกอบไปด้วยคันทอร์ถูกสร้างขึ้นโดยการลบกลางเปิดที่สามของชุดของส่วนบรรทัด โปรแกรมได้รับหนึ่งพารามิเตอร์N(ตัวเลขจำนวนเต็ม) จากนั้นพิมพ์ (ในคอนโซลหรือในลักษณะที่คล้ายกัน) ชุดคันทอร์ของระดับ N การพิมพ์สามารถมี_ตัวอักษรundescore ( ) และ whithe ช่องว่างเท่านั้น พารามิเตอร์สามารถเป็นบวกหรือลบและเครื่องหมายบ่งชี้ทิศทางการก่อสร้างชุดคันทอร์: หากN > 0ชุดคันทอร์ถูกสร้างขึ้นด้านล่างและหากN < 0ชุดคันทอร์ถูกสร้างขึ้น ถ้าN = 0โปรแกรมนั้นพิมพ์บรรทัดเดียว ( _) ตัวอย่างเช่น: N = 2 _________ ___ ___ _ _ _ _ N = -2 _ _ _ _ ___ ___ _________ N = 3 …

29
เรียง-a-จำนวน คล้าย ๆ
แรงบันดาลใจจากการเรียงลำดับตัวเลขที่ไม่ดีโชคไม่ดีโดยใช้อาเรย์ แต่ฉันคิดว่ามันสร้างรหัสกอล์ฟที่ดีกว่าคำถาม SO กำหนดจำนวนเต็มบวกให้เรียงตัวเลขในจำนวนเต็มนั้น คะแนนต่ำสุดชนะ! เริ่มต้นด้วย 0 คะแนน เพิ่มหนึ่งจุดต่อตัวละคร เพิ่ม 20 คะแนนสำหรับแต่ละอาร์เรย์ที่คุณใช้ เพิ่ม 10 คะแนนสำหรับแต่ละสายอักขระหลายตัวในรหัสของคุณ (ยกเว้นอินพุตเริ่มต้นตราบใดที่มันถูกแปลงเป็นจำนวนเต็มโดยไม่มีการดำเนินการอื่นใดกับมัน) เพิ่ม 32 คะแนนหากจำนวนหลักสูงสุดที่โปรแกรมของคุณสามารถจัดการนั้นถูก จำกัด โดยโปรแกรมของคุณ (ตรงข้ามกับเครื่อง) ลบ 10 คะแนนถ้ารหัสของคุณสามารถเปลี่ยนทิศทางของการเรียงลำดับที่กำหนดอาร์กิวเมนต์อื่น (สิ่งที่คุณต้องการ แต่ตัวอย่างเช่น 0 สำหรับการเรียงจากมากไปน้อยและ 1 สำหรับการเรียงจากมากไปหาน้อย) ทุกภาษามีความแตกต่างกันไป แต่ความคิดคือการหลีกเลี่ยงการแฮ็กข้อมูลที่เป็นเลขตัวอื่น ตัวอย่าง: อินพุต : 52146729 เอาต์พุต : 97654221 หรือ 12245679 หมายเหตุ: ใช้ความสามารถในการเรียงลำดับในภาษาการเขียนโปรแกรมของคุณ แต่ถ้าคุณสมบัติการเรียงนั้นเกี่ยวข้องกับสตริงหรืออาร์เรย์ให้รับโทษ! คุณสามารถเขียนวิธีการแก้ปัญหาเป็นฟังก์ชั่นที่ใช้จำนวนเต็มโดยตรงหรือเป็นโปรแกรมที่ใช้อาร์กิวเมนต์จาก argv, ไฟล์หรือสตรีมและแปลงเป็นจำนวนเต็ม ตราบใดที่คุณแปลงเป็นจำนวนเต็มทันทีและยกเลิกอินพุต char …

19
คำนวณน้ำหนักแฮมมีน้ำหนักแฮมต่ำ
สร้างโปรแกรมที่คำนวณน้ำหนักการขัดขวางของสตริง ผู้ชนะคือโปรแกรมที่มีน้ำหนักแฮมมิ่งต่ำสุด กฎ: การรับน้ำหนักของตัวอักษร ASCII ถูกกำหนดเป็นจำนวนบิตทั้งหมดที่ตั้งค่าไว้1ในการเป็นตัวแทนไบนารี สมมติว่าการเข้ารหัสอินพุตเป็น 7 บิต ASCII ผ่านสิ่งที่กลไกการป้อนข้อมูลเป็นเรื่องปกติสำหรับภาษาของคุณ (เช่น stdin, args ฯลฯ ) เอาท์พุทผลลัพธ์เป็นตัวเลขเพื่อ stdout หรือกลไกเอาต์พุตปกติ / ปกติที่ภาษาของคุณใช้ มันควรจะไปโดยไม่บอก แต่คุณต้องสามารถเรียกใช้โปรแกรมในชีวิตจริงเพื่อให้เป็นทางออกที่ถูกต้อง ผู้ชนะคือคำตอบที่มีรหัสน้ำหนักต่ำสุด ขออภัยไม่มีวิธีแก้ไขในช่องว่างสำหรับอันนี้! ตกลงคุณสามารถเขียนโค้ดในช่องว่างขณะนี้ฉันได้แยกกฎออกแล้ว :) ตัวอย่างต่อตัวละคร: char | binary | weight -----+----------+------- a | 01100001 | 3 x | 01111000 | 4 ? | 00111111 | 6 \x00 …

12
เติมลงในทะเลสาบ
เมื่อพิจารณาภูมิประเทศของที่ดินในรูปแบบภาพ ASCII ให้คิดว่าทะเลสาบจะไปที่ใดและเติมเต็มให้สมมติว่ามีฝนตกไม่ จำกัด ตัวอย่าง อินพุต # ## # #### # ######### ## ########### ## ############# #### ## ############## ##### ################# ####### ######################### ######################### เอาท์พุต # ## #@#### #@@@@######### ##@@########### ##@#############@@@#### ##@##############@@##### #################@####### ######################### ######################### อินพุตจะมีช่องว่างและ#เครื่องหมายเท่านั้น แต่ละบรรทัดจะมีความยาวเท่ากัน ผลลัพธ์ควรเป็น#รูปแบบที่เหมือนกันกับช่องว่างที่น้ำจะสะสมด้วย@เครื่องหมาย แถวล่างสุดจะเป็นเครื่องหมาย # ทั้งหมด จะไม่มีรูหรือสิ่งที่แขวนอยู่ในแผ่นดิน รหัสที่สั้นที่สุดชนะ

30
สร้างตารางการค้นหาฟังก์ชันสากลไบนารี
นี้จะเกี่ยวข้องกับการสัมผัสในการแสวงหาของฉันที่จะคิดค้นการเขียนโปรแกรมภาษาลึกลับ ตารางของเลขฐานสอง 0 .. 15 สามารถนำมาใช้ในการใช้งานฟังก์ชั่นยูนิเวอร์แซลไบนารีโดยใช้การจัดทำดัชนี กำหนดอินพุต 1 บิตสองตัว X และ Y ฟังก์ชันที่เป็นไปได้ทั้ง 16 ฟังก์ชันสามารถเข้ารหัสใน opcode 4 บิต X Y F|0 1 2 3 4 5 6 7 8 9 A B C D E F - - - - - - - - - - - - - - …

15
ความท้าทายของฟีโบนักชีขั้นต่ำ!
ท้าทาย ในงานนี้คุณจะได้รับจำนวนเต็ม N (น้อยกว่า 10 6 ) หาทางขั้นต่ำในที่ที่คุณสามารถที่จะสรุป N โดยใช้เพียงตัวเลข Fibonacci - พาร์ทิชันนี้จะเรียกว่าเป็นตัวแทน Zeckendorf คุณสามารถใช้หมายเลข Fibonacci ใด ๆ มากกว่าหนึ่งครั้งและหากมีการแสดงผลมากกว่าหนึ่งรายการ ตัวอย่างเช่นถ้าใส่เป็น67แล้วหนึ่งเอาท์พุทที่เป็นไปได้อาจจะใช้ตัวเลข Fibonacci 1,3,8,55ซึ่งยังเป็นจำนวนขั้นต่ำของตัวเลข Fibonacci ที่สามารถนำมาใช้เพื่อให้ได้ผลรวม67 อินพุต N ถูกกำหนดบนบรรทัดเดียวอินพุตถูกยกเลิกโดย EOF ตัวอย่าง ได้รับในรูปแบบ input: output 0: 0 47: 34+13 3788: 2584+987+144+55+13+5 1646: 1597+34+13+2 25347: 17711+6765+610+233+21+5+2 677: 610+55+8+3+1 343: 233+89+21 3434: 2584+610+233+5+2 ข้อ จำกัด …

9
การสร้างไฟล์บิตแมป PBM จากข้อความ ASCII
รูปแบบPBM (Portable BitMap)เป็นรูปแบบบิตแมป ASCII ขาวดำที่ง่ายมาก นี่คือตัวอย่างสำหรับตัวอักษร 'J' (คัดลอกวางจากลิงค์ wikipedia): P1 # นี่คือตัวอย่างบิตแมปของตัวอักษร "J" 6 10 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 …

5
พิมพ์เขาวงกตแบบสุ่ม
ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เขียนโปรแกรมที่สร้างและพิมพ์เขาวงกตแบบสุ่มโดยใช้อัลกอริทึมที่คุณเลือก เขาวงกตควรแตกต่างกันไปสำหรับการใช้งานหลายครั้งของโปรแกรม ความสูงและความกว้างถูกกำหนดเป็นอาร์กิวเมนต์บรรทัดคำสั่ง ใช้|สำหรับผนังแนวตั้งสำหรับผนัง-แนวนอนและ+สำหรับมุม เขาวงกตล้อมรอบด้วยกำแพงและทางเข้ามีการทำเครื่องหมายโดยผนังที่ขาดหายไป เขาวงกตมีสมบัติ#ที่ต้องสามารถเข้าถึงได้จากทางเข้าอย่างน้อยหนึ่งแห่ง $ python2 random-maze.py 4 5 +-+-+ |#| | | +---+

30
วิธีการตรวจสอบว่าจำนวนคี่หรือแม้กระทั่งไม่มีการดำเนินงาน mod- บิต? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา วิธีการตรวจสอบว่าจำนวนคี่หรือแม้กระทั่งไม่มีการดำเนินงาน mod- บิต? ความท้าทายนี้ไม่มีประสิทธิภาพอย่างมาก แต่ท้าทายความสามารถของคุณในการคิดนอกกรอบเพื่อหาทางออกที่สร้างสรรค์ แก้ไข : กรุณาสร้างฟังก์ชั่น นอกจากนี้ในขณะที่ regex เป็นการตอบสนองที่สนุกสนานฟังก์ชั่นควรยอมรับหมายเลขที่ถูกต้องใด ๆ ความเป็นมา : คำถามนี้เกิดขึ้นตั้งแต่วันแรกของการเขียนโปรแกรม การบ้านในวันแรกของการเรียนคือการเขียนโปรแกรมง่าย ๆ ที่พิมพ์ 'คี่' หรือ 'คู่' การเป็นเด็กเหลือขอฉันไม่ได้อ่านหนังสือที่เรามีให้กับชั้นเรียนซึ่งมันแสดงให้เราเห็นว่าจะใช้%เพื่อตัดสินได้อย่างไร ฉันใช้เวลาประมาณครึ่งชั่วโมงเดินไปมาในห้องของฉันพยายามคิดหาวิธีที่จะทำสิ่งนี้และจำได้จากการบรรยายว่าตัวเลขอาจสูญเสียและได้รับความแม่นยำเมื่อพวกมันถูกโยนจากแบบดั้งเดิมไปอีกประเภทหนึ่ง ดังนั้นถ้าคุณเอาจำนวนนั้นหารด้วยสองแล้วคูณมันกลับไม่เท่ากับเลขดั้งเดิมคุณก็จะรู้ว่าเลขนั้นเป็นเลขคี่ ฉันตกใจมากในวันถัดไปในขณะที่ผู้สอนของเราประเมินโปรแกรมของเราเขาคิดว่ามันเป็นแบบดั้งเดิมที่สุดหากไม่มีประสิทธิภาพวิธีแก้ปัญหา

10
พวกเขาโทรมาจากที่ไหน
เมื่อโทรออกต่างประเทศหมายเลขโทรศัพท์จะถูกนำหน้าด้วยรหัสที่ระบุว่าประเทศนั้นตั้งอยู่ที่ใดรหัสเหล่านี้เป็นรหัสนำหน้าซึ่งหมายความว่าไม่มีรหัสใดเป็นรหัสนำหน้าของอีกประเทศหนึ่ง ตอนนี้ก่อนหน้านี้วันนี้คุณไม่ได้รับสายและคุณอยากรู้ว่าการโทรนั้นมาจากไหน ดังนั้นคุณต้องการค้นหารหัสโทร แต่เป็นรหัสคำนำหน้าคุณไม่แน่ใจว่าจะจบที่ไหนดังนั้นคุณตัดสินใจที่จะเขียนโปรแกรมเพื่อแยกรหัสการโทรออกจากหมายเลขที่เหลือ อินพุต เป็น input 0-9คุณจะได้รับสตริงที่ประกอบด้วยตัวเลข ตัวเลขสองสามตัวแรกจะเป็นหนึ่งในรหัสโทรศัพท์ของประเทศที่ระบุไว้ด้านล่าง (ซึ่งหมายความว่าจะไม่มีหลักแรกเลย0) หลังจากรหัสโทรประเทศส่วนที่เหลือของอินพุตจะมีตัวเลขเป็นศูนย์หรือมากกว่าในลำดับใด ๆ - ไม่ใช่รับประกันว่าจะเป็นหมายเลขโทรศัพท์ที่ถูกต้อง โปรแกรมของคุณจะต้องสามารถจัดการอินพุตที่มีอย่างน้อย 15 หลัก เอาท์พุต โปรแกรมของคุณควรส่งออกรหัสการโทรประเทศที่ไม่ซ้ำใครซึ่งเป็นส่วนนำหน้าของหมายเลข ผลลัพธ์ที่ถูกต้องมีดังนี้: 1 20 211 212 213 216 218 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.