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

ทฤษฎีจำนวนเกี่ยวข้องกับคุณสมบัติและความสัมพันธ์ของตัวเลขโดยส่วนใหญ่เป็นจำนวนเต็มบวก

2
ตีความ Kipple!
บทนำ Kippleเป็นภาษาการเขียนโปรแกรมแบบกองซ้อนซึ่งเป็นความลับที่คิดค้นโดย Rune Berg ในเดือนมีนาคม 2003 Kipple มี 27 กอง 4 ตัวดำเนินการและโครงสร้างการควบคุม สแต็ค สแต็กถูกตั้งชื่อa- zและมีจำนวนเต็ม 32 บิต นอกจากนี้ยังมีสแต็กพิเศษ@เพื่อให้หมายเลขเอาต์พุตสะดวกยิ่งขึ้น เมื่อตัวเลขถูกส่งเข้าสู่@ค่า ASCII ของตัวเลขนั้นจะถูกผลักเข้าไปแทน (ตัวอย่างเช่นหากคุณกด 12 ถึง@จะได้ 49 และ 50 @แทน) อินพุตถูกส่งไปยังอินพุตสแต็กiก่อนที่โปรแกรมจะถูกดำเนินการ ล่ามจะถามหาค่าที่จะจัดเก็บiก่อนดำเนินการ หลังจากการดำเนินการเสร็จสิ้นสิ่งใดในเอาท์พุทสแต็คoจะถูกตอกไปยังเอาท์พุทเป็นตัวอักษร ASCII เนื่องจากนี่เป็นเพียงกลไก IO ของ Kipple เท่านั้นการโต้ตอบกับโปรแกรม Kipple จึงเป็นไปไม่ได้ ผู้ประกอบการ ตัวถูกดำเนินการเป็นทั้งตัวระบุสแต็กหรือจำนวนเต็ม 32 บิตลงนาม กด: >หรือ< ไวยากรณ์: Operand>StackIndentifierหรือStackIndentifier<Operand ตัวดำเนินการพุชนำตัวถูกดำเนินการไปทางซ้ายแล้วผลักไปยังสแต็กที่ระบุ ตัวอย่างเช่น12>aจะส่งค่า 12 …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
ย่อเล็กสุดเหล่านั้น [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา งานของคุณคือการสร้างจำนวนธรรมชาติโดยใช้จำนวนน้อยที่สุดของคนและมีเพียงผู้ประกอบการหรือ+ -ตัวอย่างเช่นหมายเลขเจ็ดสามารถเขียน1+1+1+1+1+1+1=7ได้ แต่ก็สามารถเขียนได้เช่น11-1-1-1-1=7กัน คนแรกที่ใช้คนในขณะที่ใช้เพียงหลัง7 6งานของคุณคือส่งคืนจำนวนต่ำสุดของจำนวนที่สามารถใช้ได้เมื่อใส่ค่าจำนวนธรรมชาติ, n. นี่คือรหัสกอล์ฟดังนั้นรหัสที่ถูกต้องสั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ อินพุต => เอาท์พุท 0 => 2 (since 1-1=0) 7 => 6 121 => 6 72 => 15 1000 => 7 2016 => 21

9
ค้นหา repetend ของการแทนทศนิยม!
ในการท้าทายนี้เมื่อ 2 ปีที่แล้วเราพบระยะเวลาของเศษส่วนหน่วย ( 1/n where n is a natural number) ตอนนี้งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นเพื่อค้นหาrepetendของเศษส่วนหน่วย การทำซ้ำเป็นส่วนหนึ่งของการขยายทศนิยมที่ทำซ้ำไม่สิ้นสุดเช่น: แสดงทศนิยมของ1/6มี0.16666...แล้วrepetend6คือ แสดงทศนิยมของ1/11มี0.090909...แล้ว repetend 09คือ แสดงทศนิยมของ1/28มี0.0357142857142857142857...แล้ว repetend 571428คือ รายละเอียด ป้อนข้อมูลในรูปแบบที่เหมาะสม เอาท์พุท repetend ในทศนิยมที่สตริงหรือรายการ สำหรับ1/7( 0.142857142857...) คุณต้องส่งออกแทน142857428571 สำหรับ1/13( 0.076923076923076923...) คุณต้องส่งออกแทน07692376923 ไม่มีแรงเดรัจฉานโปรด Testcases Input Output 1 0 2 0 3 3 7 142857 13 076923 17 0588235294117647 28 …

23
ตัวเลขรูปหลายเหลี่ยม
จำนวนเหลี่ยมเป็นจำนวนจุดในส่วนk-gon nขนาด คุณจะได้รับnและkและงานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่ส่งออก / พิมพ์หมายเลขที่สอดคล้องกัน เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง 3จำนวน RD หกเหลี่ยม ( k=6, n=3) เป็น28เพราะมี28จุดที่อยู่บน Testcases สามารถสร้างขึ้นจากชุดทดสอบ Pyth นี้ การใช้งาน: สองบรรทัดต่อ testcase nข้างบนkด้านล่าง n k output 10 3 55 10 5 145 100 3 5050 1000 24 10990000 ข้อมูลเพิ่มเติม ใน Wikipedia: https://en.wikipedia.org/wiki/Polygonal_number ใน Wolfram Mathworld: http://mathworld.wolfram.com/PolygonalNumber.html ใน …

3
คณิตศาสตร์ในแมนฮัตตัน
ฉันกำหนดผู้ประกอบการต่อไปนี้: Manhattan Addition a + M b สำหรับตัวเลขหลักเดียวเป็นผลมาจากการต่อ b เข้ากับ a ดังนั้น + M b = 10a + b ดังนั้นตัวดำเนินการทั่วไป + Mจึงถูกกำหนดดังนี้: a + M b = 10a + b การลบแมนฮัตตัน a - M b สำหรับตัวเลขหลักเดียวเป็นผลมาจากการลบ b สุดท้ายออกจาก ดังนั้นโอเปอเรเตอร์ - Mถูกกำหนดไว้ใน pseudocode: a - M b = a ลบล่าสุด การคูณแมนฮัตตัน …

14
ลำดับหมายเลขคอมโพสิต
ลำดับหมายเลขคอมโพสิต แรงบันดาลใจจากคำถามนี้ รับจำนวนเต็มบวกnรหัสของคุณจะต้องส่งออกจำนวนnประกอบแรก อินพุต / เอาต์พุต คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น อินพุตคือ STDIN หรืออาร์กิวเมนต์ของฟังก์ชันและเอาต์พุตคือ STDOUT หรือฟังก์ชันส่งคืนค่า เอาต์พุตสามารถเป็นรายการ, อาร์เรย์, หรือสตริง ตัวอย่าง 0 -> 1 -> 4 2 -> 4, 6 3 -> 4, 6, 8 13 -> 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22 กฎระเบียบ เช่นเดียวกับช่องโหว่มาตรฐานจะไม่ได้รับอนุญาต บิวด์อินที่สร้างหมายเลขเฉพาะหรือคอมโพสิตไม่ได้รับอนุญาต ไม่อนุญาตให้ใช้ตัวบิวด์ที่เกี่ยวข้องกับหมายเลขเฉพาะหรือคอมโพสิต

5
วิธีเขียน N เป็นผลิตภัณฑ์ของจำนวนเต็ม M มีกี่วิธี
รับจำนวนเต็มN , นับจำนวนวิธีที่สามารถแสดงเป็นผลคูณของMจำนวนเต็ม> 1 อินพุตเป็นเพียงNและMและเอาต์พุตคือจำนวนรวมของกลุ่มจำนวนเต็มที่แตกต่างกัน ความหมายคุณสามารถใช้จำนวนเต็มมากกว่าหนึ่งครั้ง แต่แต่ละกลุ่มจะต้องแตกต่างกัน ( 3 x 2 x 2จะไม่นับถ้า2 x 2 x 3มี) ข้อ จำกัด 1 < N <2 31 1 < M <30 ตัวอย่าง อินพุต30 2ให้เอาต์พุต3เนื่องจากสามารถแสดงได้ 3 วิธี: 2 x 15 3 x 10 5 x 6 อินพุต16 3ให้เอาต์พุต1เนื่องจากมีเพียงกลุ่มเดียวเท่านั้น: 2 x 2 x 4 อินพุต2310 …

3
หมายเลขพาร์ติชันที่ใกล้ที่สุด
จำนวนพาร์ติชันของจำนวนเต็มคือจำนวนวิธีที่สามารถแสดงจำนวนเต็มเป็นผลรวมของจำนวนเต็มบวก ตัวอย่างเช่น: 5 4 + 1 3 + 2 3 + 1 + 1 2 + 2 + 1 2 + 1 + 1 + 1 1 + 1 + 1 + 1 + 1 มี 7 วิธีในการแทนค่าหมายเลข 5 ดังนั้น 7 คือหมายเลขพาร์ติชันที่สอดคล้องกับหมายเลข 5 หมายเลขพาร์ติชัน: OEIS: # A000041 คำสั่ง เขียนโปรแกรมที่ใช้จำนวนเต็มบวกเป็นอินพุตและเอาต์พุตตัวเลขสองตัวที่สร้างหมายเลขพาร์ติชันที่ใกล้เคียงที่สุดสองตัวไปยังหมายเลขอินพุต ข้อมูลที่ป้อนต้องเป็นจำนวนเต็มบวก …

7
การแปลงฐานแบบผสม
พื้นหลัง คนส่วนใหญ่ที่นี่ควรคุ้นเคยกับระบบฐานหลายระบบ: ทศนิยม, ไบนารี, ฐานสิบหก, ฐานแปด เช่นในระบบเลขฐานสิบหกตัวเลข12345 16จะเป็นตัวแทน 1*16^4 + 2*16^3 + 3*16^2 + 4*16^1 + 5*16^0 โปรดทราบว่าโดยปกติเราไม่คาดหวังว่า16จะมีการเปลี่ยนจากหลักเป็นหลัก การวางตำแหน่งของระบบตำแหน่งปกติเหล่านี้ทำให้คุณสามารถใช้ฐานตัวเลขที่แตกต่างกันสำหรับแต่ละหลัก เช่นถ้าเราสลับระหว่างระบบทศนิยมและฐานสอง (เริ่มต้นด้วยฐาน 10 ในหลักสำคัญน้อยที่สุด) หมายเลข190315 [2,10]จะแทน 1*10*2*10*2*10 + 9*2*10*2*10 + 0*10*2*10 + 3*2*10 + 1*10 + 5 = 7675 [2,10]เราแสดงว่าฐานนี้เป็น ฐานที่ถูกต้องที่สุดสอดคล้องกับตัวเลขที่มีนัยสำคัญน้อยที่สุด จากนั้นคุณผ่านฐาน (ไปทางซ้าย) ในขณะที่คุณผ่านหลัก (ไปทางซ้าย) ให้ล้อมรอบหากมีจำนวนมากกว่าฐาน สำหรับการอ่านเพิ่มเติมดูวิกิพีเดีย ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับรายชื่อของตัวเลขDฐานการป้อนข้อมูลIและฐานการส่งออกOแปลงจำนวนเต็มตัวแทนจากDจากฐานไปยังฐานI Oคุณสามารถรับอินพุตผ่าน STDIN, …

5
การวางนัยทั่วไปของหมายเลข Hardy – Ramanujan
1729 หรือที่เรียกว่าหมายเลขHardy – Ramanujanเป็นเลขจำนวนเต็มบวกที่เล็กที่สุดที่สามารถแสดงเป็นผลรวมของสองจำนวนเต็มจำนวนเต็มบวกสองวิธี ( 12^3+1^3=10^3+9^3=1729) ได้รับจำนวนเต็มn(ตามที่ป้อนในรูปแบบใดก็ตามที่เป็นธรรมชาติของภาษาที่คุณเลือก) ค้นหาจำนวนเต็มบวกที่เล็กที่สุดที่สามารถแสดงเป็นผลรวมของจำนวนเต็มบวกสองตัวที่ยกnกำลังสองในวิธีที่ไม่ซ้ำกัน ไม่มีการใช้แหล่งข้อมูลภายนอก ตัวละครที่ชนะน้อยที่สุด โปรดทราบว่านี้เป็นจริงปัญหาที่ยังไม่แก้n>4สำหรับ สำหรับตัวเลขเหล่านั้นให้โปรแกรมของคุณทำงานตลอดไปในการค้นหาหรือลองใช้! จัดทำขึ้นเพื่อว่าถ้าได้รับเวลาและทรัพยากรที่ไม่สิ้นสุดโปรแกรมจะแก้ปัญหา

1
ติดตั้งเลขทศนิยมแบบไบนารีของ IEEE 754 64- บิตผ่านการจัดการจำนวนเต็ม
(ฉันติดแท็กคำถาม "C" ในขณะนั้น แต่ถ้าคุณรู้ภาษาอื่นที่สนับสนุนสหภาพคุณสามารถใช้มันได้) งานของคุณคือการสร้างตัวดำเนินการทางคณิตศาสตร์สี่มาตรฐาน+ - * /สำหรับโครงสร้างต่อไปนี้: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } เช่นว่าการดำเนินการของตัวเองเท่านั้นที่จะจัดการหรือเข้าถึงส่วนจำนวนเต็ม (ดังนั้นจึงไม่มีการเปรียบเทียบกับสองครั้งตลอดเวลาในระหว่างการดำเนินการอย่างใดอย่างหนึ่ง) และผลที่ได้คือเหมือนกัน (หรือเทียบเท่าตามหน้าที่ในกรณีของผลลัพธ์ที่ไม่ใช่ตัวเลขเช่นNaN) ราวกับว่าการดำเนินการทางคณิตศาสตร์ที่สอดคล้องกันถูกนำไปใช้โดยตรงกับdoubleแทน คุณอาจเลือกส่วนจำนวนเต็มเพื่อจัดการแม้กระทั่งการใช้ส่วนต่าง ๆ ในตัวดำเนินการที่แตกต่างกัน (คุณสามารถเลือกที่จะลบ "unsigned" ออกจากฟิลด์ใด ๆ ในสหภาพได้แม้ว่าฉันไม่แน่ใจว่าต้องการทำเช่นนั้นหรือไม่) คะแนนของคุณคือผลรวมของความยาวของรหัสเป็นอักขระสำหรับผู้ให้บริการแต่ละราย คะแนนต่ำสุดชนะ สำหรับพวกเราที่ไม่คุ้นเคยกับข้อกำหนด IEEE 754 นี่เป็นบทความเกี่ยวกับเรื่องนี้ใน Wikipedia การแก้ไข: 03-06 …

2
ล่ามสำหรับทฤษฎีจำนวนโมดูโล n
ประโยคของทฤษฎีจำนวน (สำหรับวัตถุประสงค์ของเรา) เป็นลำดับของสัญลักษณ์ต่อไปนี้: 0และ'(ตัวตายตัวแทน) - ตัวตายตัวแทนหมายถึง+1ดังนั้น0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(เพิ่มเติม) และ*(การคูณ) = (เท่ากับ) (และ)(วงเล็บ) ตัวดำเนินการเชิงตรรกะnand( a nand bคือnot (a and b)) forall (ปริมาณสากล) v0, v1, v2ฯลฯ (ตัวแปร) นี่คือตัวอย่างของประโยค: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) นี่not …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

12
Magical Modulo Squares
ฉันเป็นแฟนตัวยงของทฤษฎีจำนวน สิ่งที่ยิ่งใหญ่ในทฤษฎีตัวเลขคือคณิตศาสตร์เลขคณิต ความหมายของการเป็น≡ ขa ≡ bพอควรม.a≡bmodma\equiv b\mod mและถ้าหากm ∣ a - bm∣a−bm\mid a-bข สิ่งที่สนุกที่ต้องทำคือการเพิ่มพลัง: โดยเฉพาะเมื่อโมดูลัสเป็นจำนวนเฉพาะ โดยเฉพาะอย่างยิ่งจะได้รับการพิสูจน์แล้วว่าถ้าและม.มีความสำคัญ (หุ้นปัจจัยไม่มีทั่วไปนอกเหนือจาก 1 ) จากนั้นมีอยู่จำนวนอีเมลดังกล่าวที่อี ≡ 1aaaม.mm111อีeeaอี≡ 1พอควรม.ae≡1modma^e\equiv 1\mod m . ฉันจะอธิบายว่าการออกกำลังกายเป็นอย่างไร ลองมาโมดูลัm = 7m=7m=7 7 ผลลัพธ์ที่เป็นไปได้ของโปรแกรมหรือฟังก์ชั่นจะเป็น: 3 2 6 4 5 1 2 4 1 2 4 1 6 1 6 1 6 1 …

3
ฐานบ้า แต่มีเหตุผล
เรามีความท้าทายมากมายจากฐาน 10 ฐาน 2 ฐาน 36 หรือแม้แต่ฐาน -10แต่ฐานเหตุผลอื่น ๆ ทั้งหมดเป็นอย่างไร งาน กำหนดจำนวนเต็มในฐาน 10 และฐานเหตุผลให้คืนค่าจำนวนเต็มในฐานนั้น (เป็นอาร์เรย์สตริง ฯลฯ ) กระบวนการ เป็นการยากที่จะจินตนาการถึงฐานที่มีเหตุผลดังนั้นลองจินตนาการภาพโดยใช้Exploding Dots : พิจารณาภาพเคลื่อนไหวนี้โดยแสดง 17 ในฐาน 3: แต่ละจุดแทนหน่วยและกล่องแทนตัวเลข: กล่องด้านขวาสุดคือที่ที่หนึ่งกล่องกลางคือที่ 3 ^ 1 และกล่องซ้ายสุดคือที่ 3 ^ 2 เราสามารถเริ่มต้นด้วย 17 จุดในสถานที่หนึ่งของ อย่างไรก็ตามนี่คือฐาน 3 ดังนั้นตำแหน่งต้องน้อยกว่า 3 ดังนั้นเราจึง "ระเบิด" 3 จุดและสร้างจุดบนกล่องทางด้านซ้าย เราทำซ้ำจนกว่าเราจะจบลงด้วยตำแหน่งที่มั่นคงโดยไม่มีจุดที่สามารถระเบิดได้ (เช่น 3 จุดในกล่องเดียวกัน) ดังนั้น …

6
คำนวณเอ็กซ์โปเนนต์ทีละบิต
งานของคุณคือการคำนวณการยกกำลังช้าด้วยขั้นตอนต่อไปนี้: ให้สองอินพุต (ในตัวอย่างนี้ 4 และ 8) คุณต้องคำนวณการยกกำลังโดยคำนวณสมการทีละบิต คุณจะทำได้4^8มีค่าฐานที่มากกว่า (4) และเลขชี้กำลังขนาดเล็ก (8) คุณสามารถทำได้โดยใช้การยกกำลังและการหาร คุณสามารถแบ่งสัญลักษณ์โดยค่าX (ให้Xเป็นตัวหารที่สำคัญของสัญลักษณ์) และทำให้ค่าฐาน ( B ) B^Xลง ตัวอย่างเช่นคุณสามารถ: 4^8 = (4 ^ 2)^(8 / 2) = 16^4 ฉันได้แทนที่Xด้วย 2 ในสมการก่อนหน้า คุณสามารถ 'ลดความซับซ้อน' 16^4เพิ่มเติมอีกครั้งด้วยX = 2: 16^4 = (16 ^ 2)^(4 / 2) = 256^2 จากนั้นในที่สุดก็คำนวณตัวเลข (อีกครั้งX = 2): …

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