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

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

11
เข้ารหัสเป็นจำนวนเต็ม
n > 2ได้รับจำนวนเต็มบวก เราแปลงเป็นอาร์เรย์ดังนี้ หากเท่ากับ2ส่งคืนอาร์เรย์ว่าง มิฉะนั้นสร้างอาร์เรย์ของnปัจจัยสำคัญทั้งหมดที่เรียงลำดับจากน้อยไปมากจากนั้นแต่ละองค์ประกอบจะแทนที่ด้วยดัชนีในลำดับตัวเลขจำนวนมากและในที่สุดก็เปลี่ยนแต่ละองค์ประกอบเป็นอาร์เรย์ ตัวอย่างเช่นให้แปลงตัวเลข46เป็นอาร์เรย์ ประการแรกเปลี่ยนให้เป็นอาเรย์ของปัจจัยหลัก: [2, 23] จำนวน23เป็น9วันที่สำคัญดังนั้นแทนที่2กับอาร์เรย์ที่ว่างเปล่าและมี23 [9]ตอนนี้ Array จะกลายเป็น: [[], [9]] ปัจจัยสำคัญของการ9เป็น3และ3ดังนั้น: [[], [3, 3]] ทำเช่นเดียวกันสำหรับทั้งสอง3: [[], [[2], [2]]] และในที่สุดก็: [[], [[[]], [[]]]] ตอนนี้เพื่อเข้ารหัสมันเราเพียงแค่แทนที่วงเล็บเปิดแต่ละอัน1และแต่ละวงเล็บปิดด้วย0แล้วเอาศูนย์สิ้นสุดทั้งหมดแล้วปล่อยหนึ่ง1จากท้าย นี่คือเลขฐานสองของเรา ใช้ตัวอย่างข้างต้น: [ ] [ [ [ ] ] [ [ ] ] ] | | | | | | | …

30
ค้นหาตัวเลขที่ไม่ซ้ำกันสูงสุด
น่าแปลกที่เรายังไม่มีการท้าทาย "ค้นหาตัวเลขที่สูงที่สุด" ง่าย ๆ แต่ฉันคิดว่านั่นเป็นเรื่องเล็กน้อยเกินไป รับอินพุตของจำนวนเต็มแบบไม่ลบให้คืนค่าหลักที่ไม่ซ้ำกันสูงสุด(เช่นไม่ซ้ำ) ที่พบในจำนวนเต็ม หากไม่มีตัวเลขที่ไม่ซ้ำกันโปรแกรมของคุณสามารถทำอะไรก็ได้ (พฤติกรรมที่ไม่ได้กำหนด) อินพุตสามารถนำมาเป็นจำนวนเต็มเดียวสตริงหรือรายการตัวเลข กรณีทดสอบ 12 -> 2 0 -> 0 485902 -> 9 495902 -> 5 999999 -> Anything 999099 -> 0 1948710498 -> 7 นี่คือโค้ดกอล์ฟที่มีจำนวนน้อยที่สุดในแต่ละภาษาที่ชนะ!

30
หมายเลขนี้เป็น repdigit หรือไม่
ท้าทาย repdigitเป็นจำนวนเต็มไม่ใช่เชิงลบที่มีตัวเลขเท่ากันทั้งหมด สร้างฟังก์ชั่นหรือโปรแกรมที่สมบูรณ์ที่ใช้จำนวนเต็มเดียวเป็นอินพุทและเอาท์พุทค่าความจริงถ้าหมายเลขอินพุทเป็น repdigit ในฐาน 10 และค่าเท็จ อินพุตรับประกันว่าจะเป็นจำนวนเต็มบวก คุณอาจใช้และใช้อินพุตเป็นตัวแทนสตริงในฐาน 10 ด้วยการยกเว้นโทษ กรณีทดสอบ เหล่านี้คือ repdigits ต่ำกว่า 1,000 ทั้งหมด 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999 รายการที่มีขนาดใหญ่สามารถพบได้ใน OEIS การชนะ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ไม่ได้หมายความว่าคำตอบที่ฉลาดในภาษา verbose …

30
หมายเลขนี้เป็นสามเหลี่ยมหรือไม่
ท้าทาย รับค่าจำนวนเต็มบวกกำหนดว่าเป็นตัวเลขสามเหลี่ยมหรือไม่และส่งออกหนึ่งในสองค่าคงที่และค่าที่ต่างกัน คำนิยาม จำนวนสามเหลี่ยมเป็นจำนวนที่สามารถแสดงเป็นผลรวมของจำนวนเต็มบวกติดต่อกันเริ่มต้นที่ 1 พวกเขายังสามารถแสดงออกด้วยสูตรn(n + 1) / 2ที่nเป็นจำนวนเต็มบวกบาง กรณีทดสอบ Truthy: 1 3 6 10 15 21 55 276 1540 2701 5050 7626 18915 71253 173166 222111 303031 307720 500500 998991 Falsy: 2 4 5 7 8 9 11 16 32 50 290 555 4576 31988 187394 501500 999999 …

24
แฟ็กทอเรียลและไม่สิ้นสุด!
ขณะที่คุณอาจจะรู้ว่าปัจจัยของจำนวนเต็มบวกเป็นผลิตภัณฑ์ของทุกจำนวนเต็มบวกซึ่งมีค่าเท่ากันหรือเล็กลงไปnn ตัวอย่างเช่น 6! = 6*5*4*3*2*1 = 720 0! = 1 ตอนนี้เราจะกำหนดการปฏิบัติการพิเศษด้วยชื่อที่ไม่เกี่ยวข้องเช่นsumFac: ป.ร. ให้ไว้เป็นจำนวนเต็มบวกn, sumFac(n)คือผลรวมของ factorials ของตัวเลขที่ ตัวอย่างเช่น sumFac(132) = 1! + 3! + 2! = 9 งาน ภารกิจของคุณไม่ว่าคุณจะเลือกที่จะยอมรับหรือไม่ก็คือการส่งคืนลำดับ (อาจไม่มีที่สิ้นสุด) ของแอปพลิเคชั่นของsumFacจำนวนเต็มที่ระบุในอินพุต ตัวอย่าง: 132 -> 132, 9, 362880, 81369, 403927, ... แต่นั่นไม่ใช่ทั้งหมด! แท้จริงแล้วการใช้งานของsumFacในที่สุดจะสร้างรอบ คุณต้องส่งคืนวงจรนี้ด้วย! หากภาษาของคุณมีแฟกทอเรียลคุณสามารถใช้มันได้ ฉันไม่จู้จี้จุกจิกเกี่ยวกับประเภทการคืนคุณเพียงแค่ส่งคืนลำดับของแอปพลิเคชัน sumFac และวัฏจักรในรูปแบบที่มนุษย์เข้าใจได้ แก้ไข: เพื่อช่วยให้คุณมองเห็นภาพได้ดีขึ้นว่าผลลัพธ์ควรมีลักษณะอย่างไรฉันคัดลอก Leaky Nun …

9
การสั่งซื้อแปลก ๆ ของ Sharkovskii
บทนำ ในความท้าทายนี้เราจะจัดการกับการเรียงลำดับของจำนวนเต็มบวก การสั่งซื้อจะเป็นดังนี้: 3, 5, 7, 9, 11, ... 2*3, 2*5, 2*7, 2*9, 2*11, ... 4*3, 4*5, 4*7, 4*9, 4*11, ... 8*3, 8*5, 8*7, 8*9, 8*11, ... 16*3, 16*5, 16*7, 16*9, 16*11, ... ... ... 64, 32, 16, 8, 4, 2, 1 อันดับแรกเราแสดงจำนวนเต็มแปลกทั้งหมดที่มากกว่า 1 ในลำดับจากน้อยไปหามาก จากนั้นเราจะแสดงรายการจำนวนเต็มคี่สองครั้งที่มากกว่า 1 จากนั้น 4 ครั้งจากนั้น …

30
หมายเลขบิตย้อนกลับ (ไบนารี) คืออะไร?
ดังนั้นคุณจะได้รับจำนวนฐาน 10 (ฐานสิบ) บวก งานของคุณคือกลับเลขฐานสองและส่งกลับเลขฐาน 10 นั้น ตัวอย่าง: 1 => 1 (1 => 1) 2 => 1 (10 => 01) 3 => 3 (11 => 11) 4 => 1 (100 => 001) 5 => 5 (101 => 101) 6 => 3 (110 => 011) 7 => 7 (111 => 111) …

30
Notcalc (คำนวณคำตอบที่ผิด)
เป้าหมาย: กำหนดจำนวนธรรมชาติสองตัว (จำนวนเต็มตั้งแต่ 0 ถึงอินฟินิตี้) เอาท์พุทตัวเลขที่ไม่ใช่ผลรวมของตัวเลขเหล่านั้น แต่เป็นจำนวนธรรมชาติ ตัวอย่างการแก้ปัญหา (TI-Basic): A+B+1 not(A+B) โซลูชั่นไม่ถูกต้อง: A+B-1(สำหรับอินพุต0,0จะส่งคืน-1ซึ่งไม่เป็นธรรมชาติ) "ABC"( ABCไม่ใช่ตัวเลข) หมายเหตุ: ผลลัพธ์จะต้องเป็นผลรวมของตัวเลขสองตัวเสมอ (ซึ่งจริง ๆ แล้วก็แค่จำนวนธรรมชาติ) -1, undefined, infinity, NaNและข้อความผิดพลาดไม่ได้หมายเลขธรรมชาติ สำหรับวัตถุประสงค์ของเรานั้น0เป็นเรื่องธรรมดา (แม้ว่านักคณิตศาสตร์จะไม่เห็นด้วยก็ตาม)

19
การค้นหานายกลำดับที่ n ที่นายก - 1 หารด้วย n
ปัญหา เป้าหมายคือตามที่ชื่อบอกว่าจะหานายกคนที่ n อย่างที่นายก - 1 หารด้วย n คำอธิบาย นี่คือตัวอย่างเพื่อให้คุณเข้าใจคำถามนี้ไม่จำเป็นต้องเป็นวิธีที่ควรแก้ไข มันเป็นเพียงวิธีอธิบายคำถาม ได้รับ 3 เป็นอินพุตเราจะดูทุกช่วงเวลา 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 ... จากนั้นเราเลือกช่วงเวลาที่นายก - 1 หารด้วย n (3 ในกรณีนี้) 7 13 19 31 37 43 61 67 73 79 97 …

30
ลองลดความน่าเบื่อ
... แต่เดี๋ยวก่อนไม่จำเป็นต้องเข้มงวด รับอาร์เรย์ที่ไม่ว่างเปล่าของจำนวนเต็มบวกอย่างเคร่งครัดตรวจสอบว่าเป็น: Monotone อย่างเคร่งครัดลดลง ซึ่งหมายความว่าแต่ละรายการจะน้อยกว่ารายการก่อนหน้าอย่างเคร่งครัด Monotone ที่ไม่เพิ่มขึ้น แต่ไม่ได้ลดลงอย่างเคร่งครัด ซึ่งหมายความว่าแต่ละรายการมีค่าน้อยกว่าหรือเท่ากับก่อนหน้านี้และอาร์เรย์ไม่ได้อยู่ในหมวดหมู่ข้างต้น ไม่มีการข้างต้น หมายเหตุกรณีมุมต่อไปนี้: อาเรย์ที่มีหมายเลขเดียวคือโมโนโทนลดลงอย่างเคร่งครัด อาเรย์ที่มีหมายเลขเดิมซ้ำกันนั้นไม่ได้เพิ่มขึ้นอย่างเดียว แต่ไม่ลดลงอย่างเคร่งครัด กฎระเบียบ คุณอาจให้โปรแกรมหรือฟังก์ชั่น สามารถป้อนข้อมูลในรูปแบบที่เหมาะสมใด ๆ : อาร์เรย์รายการสตริงที่มีตัวเลขคั่นด้วยช่องว่าง ... คุณสามารถเลือกผลลัพธ์ที่สอดคล้องกันสามรายการสำหรับสามหมวดหมู่ตามลำดับ ยกตัวอย่างเช่นเอาท์พุทสามารถเป็นตัวเลข0, 1, 2; หรือสตริง1 1, 1 0สตริงว่าง รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ เสียงโมโนโทนลดลงอย่างเคร่งครัด: 7 5 4 3 1 42 41 5 โมโนโทนไม่เพิ่มขึ้น แต่ไม่ลดลงอย่างเคร่งครัด: 27 19 19 10 3 6 4 …

24
Loeschian หมายเลขนี้หรือไม่
จำนวนเต็มบวกkคือจำนวน Loeschianถ้า kสามารถแสดงเป็นi*i + j*j + i*jสำหรับi, jจำนวนเต็ม ตัวอย่างเช่นหมายเลข Loeschian บวกแรกคือ: 1( i=1, j=0); 3( i=j=1); 4( i=2, j=0); 7( i=2, j=1); 9( i=-3, j=3); ... โปรดทราบว่าi, jหารับkไม่ได้ที่ไม่ซ้ำกัน ตัวอย่างเช่น9สามารถสร้างด้วยi=3, j=0. ลักษณะอื่น ๆ ที่เทียบเท่าของตัวเลขเหล่านี้คือ: kสามารถแสดงเป็นi*i + j*j + i*jสำหรับi, jintegers เชิงลบ (สำหรับคู่ของจำนวนเต็มแต่ละi, jมีคู่ของ integers เชิงลบที่ทำให้เดียวกันk) มีชุดของkรูปหกเหลี่ยมที่ต่อเนื่องกันซึ่งก่อให้เกิด tesselation บนตารางหกเหลี่ยม (ดูภาพประกอบสำหรับk = 4และสำหรับk …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

18
อัศวินหมายเลขของ Numpad
สำหรับตัวเลขที่ไม่เป็นศูนย์บนnumpadมาตรฐาน 789 456 123 พิจารณาวางอัศวินหมากรุกที่ตัวเลขใด ๆ และเคลื่อนไปรอบ ๆ ด้วยการกระโดดรูปตัว L ปกติจำนวนใด ๆ ติดตามจำนวนเต็มทศนิยมบวก จำนวนเต็มบวกใดที่สามารถแสดงออกได้ในลักษณะนี้? หนึ่งในนั้นคือ38ตั้งแต่อัศวินสามารถเริ่มต้นบนและเลื่อนไปทางซ้ายและขึ้นไป3 และยังเป็นไปได้8381383 3ตัวเองเป็นไปได้ถ้าไม่มีการกระโดด (ซึ่งได้รับอนุญาต) 5เป็นเช่นกัน แต่ไม่สามารถเข้าถึงตัวเลขอื่น ๆ ได้จาก5ดังนั้นจึงเป็นหมายเลขเดียวที่ตัวเลขนั้น5ปรากฏขึ้น เขียนโปรแกรมหรือฟังก์ชั่นที่รับค่าจำนวนเต็มฐานสิบบวก (คุณอาจใช้มันเป็นสตริงได้หากต้องการ) และพิมพ์หรือส่งกลับค่าความจริงหากตัวเลขสามารถแสดงได้โดยอัศวินบนเลขฐานแปดตามวิธีที่อธิบายไว้falsyค่า รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ Tiebreaker เป็นคำตอบก่อนหน้า ตัวอย่าง Truthy: 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 18, 38, 61, 81, 294, 349, 381, 383, 729, 767, …

29
มันเป็นรหัสคำนำหน้า?
ในทฤษฎีข้อมูล "รหัสคำนำหน้า" เป็นพจนานุกรมที่ไม่มีคีย์ใดเป็นคำนำหน้าของอีก กล่าวอีกนัยหนึ่งนี่หมายความว่าไม่มีสตริงใดเริ่มต้นด้วยสตริงอื่นใด ตัวอย่างเช่น{"9", "55"}เป็นรหัสคำนำหน้า แต่{"5", "9", "55"}ไม่ใช่ ข้อได้เปรียบที่ใหญ่ที่สุดของเรื่องนี้คือข้อความที่เข้ารหัสสามารถเขียนลงโดยไม่มีตัวคั่นระหว่างพวกเขาและมันจะยังสามารถถอดรหัสได้โดยไม่ซ้ำกัน สิ่งนี้แสดงให้เห็นในอัลกอริธึมการบีบอัดเช่นการเข้ารหัส Huffmanซึ่งจะสร้างรหัสคำนำหน้าที่ดีที่สุดเสมอ งานของคุณง่าย: ได้รับรายการของสตริงตรวจสอบว่ามันเป็นรหัสคำนำหน้าที่ถูกต้องหรือไม่ ข้อมูลของคุณ: จะมีรายการของสตริงในรูปแบบที่เหมาะสม จะมีสตริง ASCII ที่พิมพ์ได้เท่านั้น จะไม่มีสตริงว่างเปล่า ผลลัพธ์ของคุณจะเป็นค่าจริง / เท็จ : ความจริงถ้ามันเป็นรหัสคำนำหน้าที่ถูกต้องและเป็นเท็จถ้ามันไม่ ต่อไปนี้เป็นกรณีทดสอบจริง: ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", …

14
{เบอร์หยิก};
ในการเขียนโปรแกรมภาษาลึกลับหยิกโปรแกรม แต่เพียงการประกอบวงเล็บปีกกาและอัฒภาค{} ;แม้ชุดเครื่องมือต่ำต้อยนี้ลอนมีตัวอักษรที่สามารถแสดงจำนวนเต็มที่ไม่ใช่ค่าลบใด ๆ รูปแบบนั้นค่อนข้างยากสำหรับผู้ที่ไม่ได้ฝึกอ่านดังนั้นให้เขียนโค้ดเพื่อทำการแปลงให้เรา รูปแบบของตัวเลข ตัวเลขลอนมีโครงสร้างตามกฎต่อไปนี้: การเพิ่มเซมิโคลอนเพิ่มหนึ่งหมายเลข จำนวนที่อยู่ในเครื่องหมายปีกกาจะถูกคูณด้วยสี่ กลุ่มที่มีรั้งเป็นลอนอาจซ้อนกัน แต่ไม่ได้ต่อกัน เครื่องมือจัดฟันต้องตรงกันอย่างถูกต้อง เครื่องหมายอัฒภาคนอกชุดเครื่องหมายปีกกาจะต้องมาหลังจากนั้นไม่ใช่มาก่อน เพื่อหลีกเลี่ยงความคลุมเครือในการแยกวิเคราะห์ตัวเลขต้องเริ่มต้นด้วยวงเล็บปีกกาเสมอ ตัวอย่างบางส่วน: {;;} 2*4 = 8 {{;};}; (1*4+1)*4+1 = 21 {};;; 0*4+3 = 3 (โปรดทราบว่ากฎ 5 หมายถึงตัวเลข 0 ถึง 3 จะต้องเริ่มต้นด้วยวงเล็บปีกกาว่างเปล่าคู่) และตัวอย่างที่ไม่ถูกต้อง: {{;}{;;}} Curly brace groups side-by-side, not nested {;}} Unmatched brace {;{;}} Semicolon before curly-brace group …

22
การคูณแฮคเกอร์
เป้าหมายของคุณคือการใช้การดำเนินการคูณXOR ( ไร้ค่า ) ตามที่กำหนดไว้ด้านล่างในไม่กี่ไบต์เท่าที่จะทำได้ ถ้าเราคิดว่า bitwise XOR ( ^) เป็นการเพิ่มแบบไบนารีโดยไม่ต้องถือ 101 5 ^ 1001 9 ---- 1100 12 5^9=12 เราสามารถดำเนินการ XOR คูณ@ด้วยการทำไบนารียาวคูณ^แต่ทำขั้นตอนการเพิ่มโดยไม่ดำเนินการเป็นค่าที่เหมาะสมแฮคเกอร์ 1110 14 @ 1101 13 ----- 1110 0 1110 ^ 1110 ------ 1000110 70 14@13=70 (สำหรับนักคณิตศาสตร์นี่คือการคูณในพหุนามพหุนามF_2[x]ระบุพหุนามกับจำนวนธรรมชาติโดยการประเมินที่x=2พหุนามมากกว่า Z) แฮคเกอร์เดินทางคูณa@b=b@aร่วมและจัดจำหน่ายมากกว่าค่าที่เหมาะสมแฮคเกอร์(a@b)@c=a@(b@c) a@(b^c)=(a@b)^(a@c)ในความเป็นจริงมันเป็นงานที่ไม่ซ้ำกันเช่นที่ตรงกับการคูณa@b=a*bเมื่อใดก็ตามaและbมีพลังแห่งเช่น21,2,4,8... ความต้องการ ใช้จำนวนเต็มสองจำนวนที่ไม่เป็นลบเป็นอินพุตและเอาต์พุตหรือพิมพ์ XOR-product นี่ควรเป็นตัวเลขหรือการแสดงสตริงทศนิยมไม่ใช่การขยายแบบไบนารี ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ ไม่ต้องกังวลกับจำนวนเต็มล้น a b …

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