คำถามติดแท็ก number

ความท้าทายนี้มีจุดมุ่งหมายเพื่อแก้ไขโดยใช้จัดการยอมรับเป็นอินพุตหรือส่งออกค่าตัวเลข

30
สร้างเมทริกซ์กระดานหมากรุก
ใช้เป็นจำนวนเต็มบวกnเป็น input และเอาท์พุทn โดย nเมทริกซ์หมากรุกประกอบด้วย1และ0 ตัวเลขบนซ้ายควรเป็น1เสมอ กรณีทดสอบ: n = 1 1 n = 2 1 0 0 1 n = 3 1 0 1 0 1 0 1 0 1 n = 4 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 รูปแบบอินพุตและเอาต์พุตเป็นทางเลือก …

30
หมายเลขของฉันนานเท่าไหร่
ท้าทาย กำหนดจำนวนเต็มQในช่วง-(2^100) ≤ Q ≤ 2^100ส่งออกจำนวนหลักในจำนวนนั้น (ในฐาน 10) กฎระเบียบ ใช่คุณอาจใช้ตัวเลขเป็นสตริงและค้นหาความยาว อนุญาตให้ใช้ฟังก์ชันทางคณิตศาสตร์ทั้งหมดได้ คุณอาจรับอินพุตในฐานใดก็ได้ แต่ผลลัพธ์จะต้องเป็นความยาวของตัวเลขในฐาน 10 อย่านับเครื่องหมายลบสำหรับจำนวนลบ ตัวเลขจะไม่มีจุดทศนิยม ศูนย์สามารถมีได้หนึ่งหรือศูนย์หลัก สมมติว่าอินพุตจะเป็นจำนวนเต็มที่ถูกต้องเสมอ ตัวอย่าง Input > Output -45 > 2 12548026 > 8 33107638153846291829 > 20 -20000 > 5 0 > 1 or 0 การชนะ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

24
เมื่อจำนวนเต็มเข้าร่วมคิว
บทนำ คิวเป็นชนิดข้อมูลนามธรรมที่องค์ประกอบเพิ่มไปด้านหน้า (enqueue) และลบออกจากด้านหลัง (dequeue) นอกจากนี้ยังเป็นที่รู้จักกันFIFO (First In First Out)หลักการ มันจะแสดงที่ดีที่สุดด้วยตัวอย่าง: ท้าทาย รับอาร์เรย์ที่ไม่ว่างเปล่าที่มีจำนวนเต็มบวกและองค์ประกอบที่ระบุdequeue (ลบองค์ประกอบ) ออกรายการสุดท้ายของคิว สมมุติว่าXเป็น dequeue ในตัวอย่างนี้ ลองดูรายการต่อไปนี้: [45, X, X, 37, 20, X, 97, X, 85] สิ่งนี้สามารถแปลเป็นรหัสคิวหลอกต่อไปนี้: Queue Enqueue 45 -> 45 Dequeue -> Dequeue -> (dequeue on an empty queue is a no-op) Enqueue 37 -> 37 …

11
หมายเลขคอมโพสิตที่ทนต่อ Bitflip
บางครั้งเมื่อเขียนโปรแกรมคุณต้องใช้จำนวนเฉพาะด้วยเหตุผลบางอย่างหรืออื่น ๆ (เช่นการเข้ารหัส) ฉันคิดว่าบางครั้งคุณต้องใช้หมายเลขคอมโพสิตด้วย บางครั้งอย่างน้อยที่นี่ใน PPCG โปรแกรมของคุณจะต้องสามารถจัดการกับการเปลี่ยนแปลงโดยพลการ และในสถานการณ์ที่วางแผนจะสร้างคำถาม PPCG ที่น่าสนใจอย่างสะดวกสบายบางทีแม้แต่ตัวเลขที่คุณใช้ก็ต้องทนต่อการทุจริต ... คำนิยาม จำนวนคอมโพสิตเป็นจำนวนเต็ม≥ 4 ที่ไม่ได้เป็นนายกคือมันเป็นผลิตภัณฑ์ของจำนวนเต็มสองจำนวนที่มีขนาดเล็กมากกว่า 1 ต่อ A bitflip ทนจำนวนคอมโพสิตถูกกำหนดให้เป็นดังนี้ก็เป็นจำนวนเต็มบวกคอมโพสิตซึ่งถ้าคุณเขียนมัน ในเลขฐานสองในจำนวนบิตที่น้อยที่สุดที่เป็นไปได้คุณสามารถเปลี่ยนหนึ่งหรือสองบิตจากจำนวนและจำนวนยังคงประกอบ ตัวอย่าง ตัวอย่างเช่นพิจารณาจำนวน 84 1010100ในไบนารีว่า นี่คือตัวเลขทั้งหมดที่ต่างกันไม่เกิน 2 บิตจาก: 0000100 4 2 × 2 0010000 16 4 × 4 0010100 20 4 × 5 0010101 21 3 × 7 0010110 22 …

19
ค้นหาปีที่จัดเรียง
ปี 2556 มีทรัพย์สินที่น่าสนใจ: ตัวเลขเรียงต่อกันเมื่อเรียงลำดับ (0123) ลองเรียกหมายเลขประเภทนี้ว่าตัวเลขที่เรียงได้:จำนวนเต็มแบบไม่ลบที่มีตัวเลขฐาน 10 ต่อเนื่องกันหลังจากเรียงลำดับ น่าเสียดายที่สิ่งนี้จะไม่เกิดขึ้นอีกจนกว่าจะถึงปี 2031 และหลังจากนั้นไม่ถึงปี 2103 ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่เมื่อได้รับจำนวนเต็มไม่เป็นลบผ่านวิธีมาตรฐานใด ๆ กฎระเบียบ อินพุตและเอาต์พุตต้องอยู่ในฐาน 10 เอาต์พุตอาจอยู่ในรูปแบบที่เหมาะสม (จำนวนตัวอักษร, สตริงตัวอักษร, อาร์เรย์รายการเดียว, ... ) รหัสของคุณจะต้องสร้างเอาต์พุตที่เหมาะสมภายใน 1 นาทีสำหรับอินพุตทั้งหมดสูงสุด 98764 กรณีทดสอบ 0 -> 1 1 -> 2 9 -> 10 10 -> 12 11 -> 12 99 -> 102 233 -> 234 234 …

26
ความแข็งแบบดิจิตอลของจำนวนเต็ม
เพื่อหาสิ่งที่มีความแข็งดิจิตอลของจำนวนเต็มใช้แทน binary ของตนและนับจำนวนครั้งทั้งชั้นนำและต่อท้ายสามารถลบออกได้จนกว่าจะมีทั้งการเริ่มต้นหรือลงท้ายด้วย1 0จำนวนบิตทั้งหมดที่ถูกลบคือความแข็งแบบดิจิตอล นั่นเป็นคำอธิบายที่ค่อนข้างใช้คำพูด - งั้นมาลองดูตัวอย่างที่ทำงานกันดีกว่า สำหรับตัวอย่างนี้เราจะใช้หมายเลข 3167 ในระบบเลขฐานสองนี่คือ: 110001011111 (โปรดทราบว่าในระหว่างการแปลงเป็นไบนารีคุณควรตรวจสอบให้แน่ใจว่าได้ตัดส่วนนำศูนย์) มันไม่ได้เริ่มต้นหรือลงท้ายด้วย0ดังนั้นเราจึงลบบิต 1 คู่: 1 1000101111 1 เเละอีกอย่าง: 11 00010111 11 แต่ตอนนี้มี 0 ที่จุดเริ่มต้นดังนั้นเราจึงไม่สามารถลบ1คู่ได้อีก โดยรวมแล้ว 4 บิตที่เราลบออกและดังนั้น4คือความแข็งแบบดิจิตอลที่3167 อย่างไรก็ตามสำหรับตัวเลขที่สามารถเขียนเป็น2 n -1สำหรับบวกn (เช่นมีเฉพาะ1ในการเป็นตัวแทนไบนารี) 0 จะไม่ถึงและดังนั้นบิตทั้งหมดสามารถลบออกได้ ซึ่งหมายความว่าค่าความแข็งเป็นเพียงความยาวบิตของจำนวนเต็ม ความท้าทาย งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งกำหนดจำนวนเต็มไม่เป็นลบn >= 0กำหนดความแข็งแบบดิจิตอล คุณสามารถส่งโปรแกรมเต็มรูปแบบซึ่งดำเนินการ I / O หรือฟังก์ชั่นที่ส่งกลับผลลัพธ์ การส่งของคุณควรทำงานกับค่าที่nอยู่ในช่วงจำนวนเต็มมาตรฐานของภาษาของคุณ กรณีทดสอบ โปรดแจ้งให้ฉันทราบหากสิ่งเหล่านี้ไม่ถูกต้องหรือหากคุณต้องการแนะนำกรณีขอบที่จะเพิ่ม 0 -> 0 …

30
เลือกตัวเลขสุ่มระหว่าง 0 ถึง n โดยใช้แหล่งที่มาของการสุ่ม
งาน กำหนดให้เป็นจำนวนเต็มบวกnน้อยกว่าที่2^30ระบุไว้เป็นอินพุตในวิธีที่คุณเลือกรหัสของคุณควรส่งออกจำนวนเต็มแบบสุ่มระหว่าง0และnรวม หมายเลขที่คุณสร้างควรจะเลือกอย่างสม่ำเสมอโดยการสุ่ม นั่นคือแต่ละค่าจาก0ถึงnต้องเกิดขึ้นกับความน่าจะเป็นที่เท่ากัน (ดูกฎและคำเตือน) กฎและคำเตือน รหัสของคุณสามารถสันนิษฐานได้ว่าตัวสร้างตัวเลขสุ่มใด ๆ ที่สร้างขึ้นในภาษาหรือไลบรารีมาตรฐานของคุณที่อ้างว่าสุ่มอย่างสม่ำเสมอนั้นเป็นชุดเครื่องแบบ นั่นคือคุณไม่ต้องกังวลเกี่ยวกับคุณภาพของแหล่งข้อมูลแบบสุ่มที่คุณใช้ อย่างไรก็ตาม คุณจะต้องกำหนดว่าถ้าแหล่งข้อมูลที่สุ่มคุณกำลังใช้เป็นชุดแล้วรหัสของคุณอย่างถูกต้องออกผลลัพธ์เป็นจำนวนเต็มสุ่มเครื่องแบบจากไป0n อาร์กิวเมนต์ใด ๆ เมื่อเรียกใช้ฟังก์ชันสุ่มในตัวหรือไลบรารีต้องเป็นค่าคงที่ นั่นคือพวกเขาจะต้องเป็นอิสระอย่างสมบูรณ์จากค่าอินพุต รหัสของคุณอาจสิ้นสุดลงด้วยความน่าจะเป็น 1แทนที่จะรับประกันได้ว่าจะยุติ หมายเหตุ randInt(0,n) ไม่ถูกต้องเนื่องจากรับอินพุตเป็นอาร์กิวเมนต์สำหรับฟังก์ชัน builtin หรือ library rand()%nจะไม่ให้หมายเลขสุ่มที่เหมือนกันโดยทั่วไป เป็นตัวอย่างที่กำหนดโดย betseg ถ้าintmax == 15และn = 10แล้วคุณจะมีโอกาสมากขึ้นที่จะได้รับมากกว่า0-56-10 floor(randomfloat()*(n+1)) จะไม่ให้ตัวเลขสุ่มแบบทั่วไปโดยทั่วไปเนื่องจากจำนวน จำกัด ของค่าจุดลอยตัวที่เป็นไปได้ที่แตกต่างกันระหว่าง 0 ถึง 1

21
เก็บค่าที่ไม่ใช่ศูนย์และเพื่อนบ้าน
นำมาจากคำถามนี้ที่ Stack Overflow ขอขอบคุณ @miles และ @Dada สำหรับการแนะนำอินพุตทดสอบที่กล่าวถึงบางกรณี ความท้าทาย รับอาร์เรย์ของค่าจำนวนเต็มลบศูนย์ทั้งหมดที่ไม่ได้ขนาบข้างด้วยค่าที่ไม่ใช่ศูนย์ รายการควรถูกเก็บไว้อย่างใดอย่างหนึ่งหากเป็นค่าที่ไม่ใช่ศูนย์หรือหากเป็นศูนย์ที่อยู่ใกล้กับค่าที่ไม่ใช่ศูนย์ทันที รายการที่เก็บไว้ควรเก็บไว้ในเอาท์พุทตามลำดับที่มีในอินพุต ตัวอย่าง ป.ร. ให้ไว้ [2 0 4 -3 0 0 0 3 0 0 2 0 0] ค่าที่ควรลบจะถูกทำเครื่องหมายด้วยx: [2 0 4 -3 0 x 0 3 0 0 2 0 x] และผลลัพธ์ควรเป็น [2 0 4 -3 0 0 3 …

30
ตัวอักษรเป็นตัวเลขและตัวเลขเป็นตัวอักษร
ท้าทาย ในการท้าทายนี้คุณจะต้องใช้ตัวเลขเป็นตัวอักษรอินพุทและเอาท์พุทที่สอดคล้องกันและในทางกลับกัน (1 <=> A, 2 <=> B) เป็นต้น 1 -> A 2 -> B ... 26 -> Z A -> 1 B -> 2 ... Z -> 26 กฎระเบียบ นี่คือcode-golfดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ข้อมูลที่ป้อนจะประกอบด้วยตัวอักษรตัวพิมพ์ใหญ่จากAถึงZหรือจำนวนเต็มตั้งแต่1ถึง26รวมเท่านั้น อนุญาตให้ใช้ช่องว่างต่อท้าย (เว้นวรรคและขึ้นบรรทัดใหม่)

29
ชุดผลรวมย่อย
บทนำ [3, 2, 4, 1, 1, 5, 1, 2]ลองสังเกตอาร์เรย์นี้: แต่ละองค์ประกอบจะแสดงความยาวของสตริงย่อยซึ่งจะต้องสรุปรวม ลองดูที่องค์ประกอบแรกของอาร์เรย์ด้านบน: [3, 2, 4, 1, 1, 5, 1, 2] ^ องค์ประกอบที่ดัชนีแรกคือ3ดังนั้นตอนนี้เรารับสตริงย่อยของความยาวสามด้วยดัชนีเดียวกันกับตำแหน่งเริ่มต้น: [3, 2, 4] เมื่อสรุปผลนี้ใน9ดังนั้นองค์ประกอบแรกของชุดย่อยรวม9เป็น เราทำสิ่งนี้สำหรับองค์ประกอบทั้งหมดในอาร์เรย์: 3 -> [3, 2, 4] 2 -> [2, 4] 4 -> [4, 1, 1, 5] 1 -> [1] 1 -> [1] 5 -> [5, …

12
ความแตกต่าง 7 ส่วน
ฉันคิดว่าคนส่วนใหญ่ที่นี่รู้ว่าการแสดงผล 7 หลักสำหรับตัวเลขคืออะไร: _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| เราสามารถกำหนดความแตกต่าง 7 เซกเมนต์ (7SD) ระหว่างสองหลักเป็นจำนวนของเซกเมนต์ที่ต้องสลับเพื่อสลับจากหนึ่งไปยังอีก เช่น 7SD ระหว่าง1และ2เป็น5 (สามส่วนแนวนอนและต่ำกว่าสองส่วนในแนวตั้งจะต้องมีการสลับ) และ 7SD ระหว่าง 6 และ 8 เป็น1 นอกจากนี้เราสามารถกำหนด 7SD …

2
รอบในการเข้ารหัสความยาว
พิจารณาลำดับเลขฐานสองบางส่วนโดยใช้1และ2ตัวอย่าง: 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1 ... ลองเขียนความยาววิ่งของ: 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1 ... _ _ ____ ____ _ _ _ ____ 1, 1, 2, 2, 1, 1, 1, 2, ... ในกรณีนี้เราได้รับลำดับไบนารี่อีกอัน แน่นอนว่าไม่รับประกัน (เช่นถ้าเราทำซ้ำขั้นตอนที่สามจะเป็น3) แต่เราคิดเอาเอง ตอนนี้คำถามคือเราสามารถหาลำดับที่ใช้การเข้ารหัสแบบ …

30
การเพิ่มตัวเลขและตัวเลขกลับด้าน
รับตัวเลข> 0 ส่งออกผลรวมกับตัวเลขทั้งหมด (1 .. n) เรียงต่อกันและย้อนกลับและเพิ่มขึ้น ตัวอย่างเช่นด้วย n = 6: หมายเลข 1 ถึง 6 เรียงต่อกัน: 123456 ย้อนกลับ 654321 การรวมเข้าด้วยกันจะทำให้: 777777 อีกตัวอย่างหนึ่งคือ n = 11: 1 2 3 4 5 6 7 8 9 10 11 > 1234567891011 และ 11 10 9 8 7 6 5 4 3 2 1 …

30
ลำดับการบวกลบ
ลำดับการบวกลบ ลำดับบวกลบเป็นหนึ่งที่เริ่มต้นด้วยสองเมล็ดและa(0) b(0)การวนซ้ำของลำดับนี้แต่ละครั้งเป็นการเพิ่มและลบสมาชิกสองคนก่อนหน้าของลำดับ นั่นคือและa(N) = a(N-1) + b(N-1)b(N) = a(N-1) - b(N-1) วัตถุประสงค์ Produce ลำดับบวกลบในไม่มีที่สิ้นสุดหรือแรกขั้นตอนที่กำหนดK Kคุณสามารถทำได้โดยใช้โปรแกรมเอาต์พุตไม่ จำกัด ตัวสร้างหรือฟังก์ชัน / โปรแกรมที่ให้Kขั้นตอนแรก ลำดับผลลัพธ์ไม่สำคัญตราบใดที่มันสอดคล้องกัน (เช่นb(K) a(K)หรือa(K) b(K)ด้วยตัวคั่นที่ไม่ใช่ตัวเลขบางตัวไม่ใช่บรรทัดใหม่ในระหว่าง) เอาท์พุทจะต้องเริ่มต้นด้วยการป้อนข้อมูล กรณีทดสอบ สำหรับอินพุต10 2(จากa(0) b(0)นี่คือผลลัพธ์ที่เป็นไปได้สำหรับวิธี K แรก (หรือส่วนย่อยของวิธีที่ไม่มีที่สิ้นสุด): 10 2 12 8 20 4 24 16 40 8 48 32 80 16 96 64 160 32 …

12
สี่คือหมายเลขเวทย์มนตร์
ฉันไม่ได้ตรวจสอบกล่องเครื่องมือก่อนที่จะโพสต์ความท้าทายนี้ - มันดูเหมือนว่าความท้าทายนี้ถูกเสนอโดยCᴏɴᴏʀO'Bʀɪᴇɴ รับอินพุตจำนวนเต็มเขียนโปรแกรมที่พิมพ์ริดเดิ้ล "สี่คือจำนวนเวทย์มนตร์" สี่คือหมายเลขเวทย์มนตร์ ห้าคือสี่และสี่คือเลขอาคม หกเป็นสามและสามคือห้าและห้าคือสี่และสี่คือเลขกล สิบเอ็ดคือหกและหกคือสามและสามคือห้าและห้าคือสี่และสี่คือเวทมนตร์ ห้าร้อยเป็นสิบเอ็ดและสิบเอ็ดคือหกและหกคือสามและสามคือห้าและห้าคือสี่และสี่คือจำนวนเวทมนตร์ หากคุณรู้จักไขปริศนาอยู่แล้วหรือขี้เกียจเกินกว่าที่จะแก้ปัญหาได้ก็อยากรู้ว่าปริศนานี้คืออะไรนี่คือคำอธิบาย หมายเลขถัดไปคือจำนวนตัวอักษรในหมายเลขก่อนหน้า ดังนั้นสำหรับตัวอย่างเช่นห้ามีสี่ตัวอักษรดังนั้นจำนวนต่อไปคือสี่ หกมีตัวอักษรสามตัวดังนั้นหมายเลขถัดไปคือ3และสามมีตัวอักษรห้าตัวดังนั้นหมายเลขถัดไปคือ5และห้ามีตัวอักษรสี่ตัวดังนั้นหมายเลขต่อไปคือ4 เหตุผลที่ปริศนาจบที่สี่คือเพราะสี่มีสี่ตัวอักษร และสี่คือสี่และสี่คือสี่และสี่คือสี่ ... (สี่คือเลขกล) กรณีทดสอบ 0 => Zero is four and four is the magic number 1 => One is three and three is five and five is four and four is the magic number 2 …
26 code-golf  number 

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