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

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

19
ในทางทฤษฎีส่งออกหมายเลขของเกรแฮม
หมายเลขของ Graham Gถูกกำหนดในลักษณะนี้: u(3,n,1) = 3^n u(3,1,m) = 3 u(3,n,m) = u(3,u(3,n-1,m),m-1) [Knuth's up-arrow notation] [Conway chained arrow notation] THEN g1 = u(3,3,4) g2 = u(3,3,g1) g3 = u(3,3,g2) ... G = u(3,3,g63) คุณได้รับu(3,3,2)=7625597484987รหัสเพื่อตรวจสอบรหัสของคุณ งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่จะส่งออกค่าGกำหนดอย่างแน่นอนกำหนดขนาดจำนวนเต็มและเวลาเพียงพอ อ้างอิง หมายเลขของเกรแฮม สัญลักษณ์ลูกศรขึ้นของ Knuth สัญลักษณ์ลูกศรของ Conway ลีดเดอร์บอร์ด แสดงตัวอย่างโค้ด var QUESTION_ID=83873,OVERRIDE_USER=48934;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var …

19
พายของฉันถูกแบ่งออกเป็นสองส่วนแล้ว?
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในรายการจำนวนเต็มบวกที่ไม่มีข้อ จำกัด คุณอาจจะถือว่าเป็นการป้อนข้อมูลในรูปแบบที่สะดวกที่เหมาะสมเช่นหรือ"1 2 3 4"[1, 2, 3, 4] ตัวเลขในรายการอินพุตแสดงถึงชิ้นส่วนของแผนภูมิวงกลมเต็มโดยที่ขนาดแต่ละส่วนเป็นสัดส่วนกับหมายเลขที่สอดคล้องกันและชิ้นส่วนทั้งหมดจะถูกจัดเรียงรอบแผนภูมิตามลำดับที่กำหนด ตัวอย่างเช่นพายสำหรับ1 2 3 4คือ: คำถามที่รหัสของคุณต้องตอบคือ: แผนภูมิวงกลมมีการแบ่งออกเป็นสองส่วนหรือไม่? นั่นคือมีเส้นตรงที่สมบูรณ์แบบจากด้านหนึ่งของวงกลมไปยังอีกด้านหนึ่งหรือไม่โดยแยกออกเป็นสองส่วนหรือไม่? คุณจำเป็นต้องส่งออกtruthyค่าถ้ามีอย่างน้อยหนึ่งเส้นแบ่งครึ่งและเอาท์พุทfalsyค่าถ้ามีผู้ใด ใน1 2 3 4ตัวอย่างมีการแบ่งระหว่าง4 1และ2 3ดังนั้นผลลัพธ์จะเป็นความจริง แต่สำหรับอินพุท1 2 3 4 5นั้นไม่มีไบเซอร์เรเตอร์ดังนั้นเอาต์พุตจะเป็นเท็จ: ตัวอย่างเพิ่มเติม การจัดเรียงตัวเลขต่างกันอาจลบเส้นแบ่งครึ่ง เช่น2 1 3 4→ falsy: หากมีเพียงหนึ่งหมายเลขเท่านั้นในรายการอินพุตวงกลมจะไม่ถูกแบ่งออก เช่น10→ falsy: อาจมีหลายเส้นแบ่งครึ่ง ตราบใดที่มีมากกว่าศูนย์ผลลัพธ์ก็จะเป็นจริง เช่น6 6 12 12 12 11 1 12→ความจริง: (มี …
43 code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

30
สร้างเมทริกซ์เอกลักษณ์
ความท้าทายนั้นง่ายมาก กำหนดอินพุตจำนวนเต็มnส่งออกn x nเมทริกซ์เอกลักษณ์ เมทริกซ์เอกลักษณ์เป็นข้อมูลที่มีการ1ขยายจากด้านบนซ้ายลงไปด้านล่างขวา คุณจะเขียนโปรแกรมหรือฟังก์ชั่นที่จะส่งกลับหรือแสดงเมทริกซ์เอกลักษณ์ที่คุณสร้างขึ้น ผลลัพธ์ของคุณอาจเป็นอาร์เรย์ 2 มิติหรือตัวเลขคั่นด้วยช่องว่าง / แท็บและบรรทัดใหม่ ตัวอย่างอินพุทและเอาท์พุท 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, …

12
เครื่องกำเนิดไฟฟ้าสำคัญที่เกิดขึ้นตามธรรมชาติ
มีฟังก์ชั่นการสร้างที่สำคัญจำนวนมาก ค่อนข้างทั้งหมดของพวกเขาถูกสร้างขึ้นและอยู่บนพื้นฐานของ Eratosthenes, ฟังก์ชั่นMöbiusหรือทฤษฎีบทของวิลสันและโดยทั่วไปจะไม่สามารถคำนวณได้ในทางปฏิบัติ แต่ยังมีเครื่องกำเนิดไฟฟ้าที่มีโครงสร้างที่ง่ายมากและถูกค้นพบโดยบังเอิญ ในปี 2003 Stephen Wolfram ได้สำรวจสมการการเกิดซ้ำแบบซ้อนในการทดสอบคอมพิวเตอร์สดที่ NKS Summer School กลุ่มคนรอบ ๆ Matthew Frank ติดตามการทดลองเพิ่มเติมและค้นพบคุณสมบัติที่น่าสนใจของการกลับเป็นซ้ำ a(n) = a(n-1) + gcd(n,a(n-1)) a(1) = 7ที่มีค่าเริ่มต้นของ ความแตกต่างa(n) - a(n-1) = gcd(n,a(n-1))มักจะเป็น 1 หรือนายก ความแตกต่างแรก ๆ คือ ( OEIS A132199 ): 1, 1, 1, 5, 3, 1, 1, 1, 1, 11, …

30
ตัวเลขนี้เป็นจำนวนเต็มกำลังของ -2 หรือไม่
มีวิธีการที่ชาญฉลาดในการพิจารณาว่าตัวเลขเป็นกำลัง 2 นั่นไม่ใช่ปัญหาที่น่าสนใจอีกต่อไปดังนั้นลองพิจารณาว่าจำนวนเต็มที่กำหนดเป็นกำลังจำนวนเต็ม-2หรือไม่ ตัวอย่างเช่น: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² กฎระเบียบ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานใด ๆ ในการรับอินพุตและจัดเตรียมเอาต์พุต อินพุตของคุณเป็นจำนวนเต็มเดียวและเอาต์พุตต้องเป็นค่าจริงหากจำนวนเต็มเป็นกำลังของเลขจำนวนเต็ม -2 และค่าเท็จเป็นอย่างอื่น ไม่อนุญาตให้ใช้เอาต์พุตอื่น (เช่นข้อความเตือน) ใช้กฎโอเวอร์โฟลว์จำนวนเต็มตามปกติ: วิธีแก้ปัญหาของคุณจะต้องสามารถทำงานกับจำนวนเต็มขนาดใหญ่ตามอำเภอใจในภาษาของคุณ (หรืออาจจะเป็นจริง) ในรูปแบบสมมุติซึ่งจำนวนเต็มทั้งหมดถูก จำกัด โดยค่าเริ่มต้น แต่หากโปรแกรมของคุณล้มเหลวในทางปฏิบัติ ไม่รองรับจำนวนเต็มที่มีขนาดใหญ่ซึ่งไม่ได้ทำให้โซลูชันไม่ถูกต้อง คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น สภาพการชนะ นี่คือการประกวดcode-golf : …

30
ฉันหารด้วยผลรวมของตัวเลขหลักของฉันได้หรือไม่?
รับค่าเป็นจำนวนเต็มบวกเป็นอินพุตงานของคุณคือส่งออกค่าจริงถ้าจำนวนหารด้วยผลรวมของตัวเลขสองหลักและค่าเท็จเป็นอย่างอื่น ( OEIS A134516 ) ในคำอื่น ๆ : (sum_of_digits)*2 | number แทนค่าความจริง / เท็จสำหรับกรณีจริงและเท็จคุณอาจระบุชุดของค่า จำกัด สำหรับกรณีจริง / เท็จและเติมเต็มค่าอื่น ๆ สำหรับตัวอย่างง่ายๆคุณสามารถใช้0สำหรับกรณีจริงและตัวเลขอื่น ๆ ทั้งหมดสำหรับคดีเท็จ (หรือกลับกันหากคุณต้องการ) ใช้กฎอินพุตและเอาต์พุตมาตรฐาน ช่องโหว่เริ่มต้นยังใช้ คุณสามารถรับอินพุตเป็นจำนวนเต็มหรือแทนสตริงของจำนวนเต็มนั้นได้ นี่คือcode-golfดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ! ฉันใหม่สำหรับ PPCG ดังนั้นฉันต้องการให้คุณโพสต์คำอธิบายหากเป็นไปได้ กรณีทดสอบ อินพุต - เอาต์พุต - (เหตุผล) 80 - Truthy - (16 หาร 80) 100 - ความจริง - (2 หาร 100) …

7
การแบ่งปัน (ตัวละคร) คือการดูแล!
ภาพรวม พิจารณางานต่อไปนี้: รับจำนวนเต็มบวกn> 0 , ส่งออกสแควร์รูทของจำนวนเต็ม จำนวนเต็มรากที่สองของจำนวนnเป็นค่าที่ใหญ่ที่สุดของxที่x 2 ≤ nfloor(sqrt(n))มักจะแสดงสูตร 25 -> 5ตัวอย่าง: 24 -> 4, 40 -> 6, 1 -> 1, งานนี้ง่ายพอสำหรับตัวเอง อย่างไรก็ตามในการท้าทายนี้งานของคุณคือการแก้ปัญหานี้ในภาษาต่างๆให้ได้มากที่สุดโดยใช้ชุดอักขระเพียง25 ตัว ตัวอย่าง ก่อนอื่นคุณต้องเลือกชุด (ไม่ซ้ำกัน) จำนวน 25 ไบต์ อาจมีลักษณะเช่นนี้ (สังเกตพื้นที่นำ): ()*-.05:=>Mabdhilmnqrst| ความท้าทายของคุณคือการใช้ตัวอักษรเพียงตัวเดียวในชุดนี้สร้างวิธีแก้ปัญหาในภาษาที่ใช้ข้อความ (ขออภัย Piet) มากที่สุดเท่าที่จะทำได้ คุณสามารถใช้อักขระได้หลายครั้งตามที่จำเป็น แต่คุณต้องไม่ใช้อักขระนอกชุด โซลูชันอาจเป็นโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบแต่ไม่ใช่ตัวอย่าง ตัวอย่างเช่นการใช้ชุดอักขระนี้ฉันสามารถทำ: M -> (int) Math.sqrt(M) // Java (lambda expression) …

30
ตัวหารร่วมมาก
งานของคุณคือการคำนวณตัวหารร่วมมาก (GCD) ที่ยิ่งใหญ่ที่สุดของจำนวนเต็มสองจำนวนที่ได้รับในโค้ดน้อยที่สุดเท่าที่จะเป็นไปได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นรับอินพุตและส่งคืนเอาต์พุตผ่านวิธีมาตรฐานที่ยอมรับของเรา (รวมถึง STDIN / STDOUT, พารามิเตอร์ฟังก์ชัน / ค่าส่งคืน, อาร์กิวเมนต์บรรทัดคำสั่ง ฯลฯ ) อินพุตจะเป็นจำนวนเต็มสองจำนวนที่ไม่เป็นลบ คุณควรจะสามารถจัดการกับช่วงเต็มได้รับการสนับสนุนโดยประเภทจำนวนเต็มเริ่มต้นของภาษาของคุณหรือช่วง[0,255]ใดก็ตามที่มากกว่า คุณรับประกันได้ว่าอย่างน้อยหนึ่งอินพุตจะไม่ใช่ศูนย์ คุณไม่ได้รับอนุญาตให้ใช้บิวด์อินที่คำนวณ GCD หรือ LCM (ตัวคูณร่วมน้อย) ใช้กฎมาตรฐานของกอล์ฟ กรณีทดสอบ 0 2 => 2 6 0 => 6 30 42 => 6 15 14 => 1 7 7 => 7 69 25 => 1 21 12 …

22
ปี่ธรรมชาติ # 0 - ร็อค
เป้าหมาย สร้างโปรแกรม / ฟังก์ชั่นที่รับอินพุตNตรวจสอบว่าNคู่ของจำนวนเต็มแบบสุ่มนั้นค่อนข้างดีและส่งคืนsqrt(6 * N / #coprime)หรือไม่ TL; DR ความท้าทายเหล่านี้เป็นการจำลองอัลกอริธึมที่ต้องการเพียงแค่ธรรมชาติและสมองของคุณ หากคุณต้องการ Pi ในระหว่างการเปิดเผยซอมบี้วิธีการเหล่านี้จะไม่เปลืองกระสุน ! มีอีกแปดความท้าทายที่จะมา ชำระเงินโพสต์แซนด์บ็อกซ์เพื่อให้คำแนะนำ การจำลอง เรากำลังจำลองอะไร ความน่าจะเป็นที่สองจำนวนเต็มแบบสุ่มนั้นค่อนข้างไพเราะ (เช่น coprime หรือ gcd == 1) 6/Pi/Piดังนั้นวิธีธรรมชาติในการคำนวณ Pi ก็คือการตักก้อนหินขึ้นสองถัง (หรือกำมือ) นับพวกเขา; ดูว่าgcdของพวกเขาคือ 1; ทำซ้ำ หลังจากที่ทำเช่นนี้คู่หลายครั้งจะมีแนวโน้มต่อsqrt(6.0 * total / num_coprimes) Piหากการคำนวณสแควร์รูทในโลกหลังวิกฤติทำให้คุณกังวลไม่ต้องกังวล! มีวิธีการของนิวตันสำหรับสิ่งนั้น เราจำลองสิ่งนี้ได้อย่างไร รับอินพุต N ทำตามNเวลาต่อไปนี้: สร้างเลขจำนวนเต็มบวกแบบสุ่มiและj กับ 1 <= i …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

29
Pseudofactorial
มีจำนวนที่ค่อนข้างอยากรู้อยากเห็นซึ่งบางครั้งก็ปรากฏขึ้นในปัญหาทางคณิตศาสตร์หรือปริศนา pseudofactorial (N) เป็นพหุคูณสามัญน้อยที่สุด (เช่นต่ำสุด) ของตัวเลข 1 ถึง N; มันคือจำนวนต่ำสุดซึ่งมีตัวเลขทั้งหมดตั้งแต่ 1 ถึง N เป็นปัจจัย เช่น pseudofactorial (7) = 3 * 4 * 5 * 7 ซึ่งเหมือนกับ 7! ยกเว้นว่ามีการลบ 2 และ 6 ออกเนื่องจากมีอยู่ในข้อกำหนดอื่น เขียนโปรแกรมเพื่อคำนวณ pseudofactorial (N) และเช่นเคยรหัสสั้นที่สุดชนะ นี่คือรายการสั้น ๆ สำหรับการใช้งานของคุณ เพิ่มเติมกรณีทดสอบที่สามารถพบได้ใน OEIS ภายใต้A003418 factorial: 1 2 6 24 120 720 5040 …

3
แก้ลูกบาศก์ของรูบิค
เขียนโปรแกรมที่สั้นที่สุดที่แก้คิวบ์ของรูบิค (3 * 3 * 3) ภายในระยะเวลาที่เหมาะสมและเคลื่อนไหวได้ (พูดได้สูงสุด 5 วินาทีในเครื่องของคุณและน้อยกว่า 1,000 ครั้ง) อินพุตอยู่ในรูปแบบ: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (อินพุตเฉพาะนี้แสดงถึงคิวบ์ที่แก้ไขแล้ว) 12 สตริงอักขระ 2 ตัวแรกคือขอบในตำแหน่ง UF, UR, ... BL (U = ขึ้น, F = ด้านหน้า, R = …

23
ละทิ้งพื้นที่สี่เหลี่ยมทั้งหมดเจ้าผู้แบ่งเรา
คำนิยาม ตารางที่สมบูรณ์เป็นจำนวนเต็มซึ่งสามารถแสดงเป็นตารางของจำนวนเต็มอีก ยกตัวอย่างเช่นเป็นตารางที่สมบูรณ์เพราะ366^2 = 36 จำนวน squarefreeเป็นจำนวนเต็มซึ่งไม่หารด้วยตารางที่สมบูรณ์ใด ๆ 1ยกเว้นโดย ตัวอย่างเช่น10เป็นหมายเลข squarefree อย่างไรก็ตาม12ไม่ใช่หมายเลข squarefree เนื่องจาก12หารด้วย4และ4เป็นรูปสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบ งาน ป.ร. ให้ไว้เป็นจำนวนเต็มบวกnการส่งออกจำนวน squarefree nใหญ่ที่สุดซึ่งแบ่ง Testcases n output 1 1 2 2 3 3 4 2 5 5 6 6 7 7 8 2 9 3 10 10 11 11 12 6 13 13 14 14 …

28
เป็นหมายเลข Proth หรือไม่?
จำนวน Prothตั้งชื่อตามFrançois Proth เป็นตัวเลขที่สามารถแสดงเป็น N = k * 2^n + 1 ที่ไหนkเป็นจำนวนเต็มบวกแปลกและเป็นบวกจำนวนเต็มดังกล่าวว่าn 2^n > kลองใช้ตัวอย่างที่เป็นรูปธรรมมากขึ้น ใช้ 3 3 เป็นหมายเลข Proth เพราะมันสามารถเขียนเป็น (1 * 2^1) + 1 และ2^1 > 1เป็นที่พอใจ 5 เป็นหมายเลข Proth ด้วยเช่นกัน (1 * 2^2) + 1 และ2^2 > 1เป็นที่พอใจ อย่างไรก็ตาม 7 ไม่ใช่หมายเลข Proth เพราะวิธีเดียวที่จะเขียนในรูปแบบN = k * 2^n …

30
แทนที่ twos ด้วย threes
ป.ร. ให้ไว้เป็นจำนวนเต็มบวก n เขียนโค้ดบางส่วนที่จะใช้ตัวประกอบนายกและแทนที่ทุกปัจจัยของการมี23 ตัวอย่างเช่น 12 = 2 * 2 * 3 -> 3 * 3 * 3 = 27 นี่คือโค้ดกอล์ฟดังนั้นเป้าหมายคือเพื่อลดจำนวนไบต์ของคำตอบของคุณ กรณีทดสอบ 1 -> 1 2 -> 3 3 -> 3 4 -> 9 5 -> 5 6 -> 9 7 -> 7 8 -> 27 9 -> 9 10 …

14
การเพิ่มรหัสสีเทา
บทนำ สีเทารหัสเป็นทางเลือกแทน binary ซึ่งจำนวนจะเพิ่มขึ้นด้วยการสลับเพียงหนึ่งบิตมากกว่าตัวแปรจำนวนบิต นี่คือรหัสสีเทาบางส่วนพร้อมกับทศนิยมและเลขฐานสองของพวกเขา: decimal | binary | gray ------------------------- 0 | 0 | 0 ------------------------- 1 | 1 | 1 ------------------------- 2 | 10 | 11 ------------------------- 3 | 11 | 10 ------------------------- 4 | 100 | 110 ------------------------- 5 | 101 | 111 ------------------------- 6 | 110 …

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