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

ความท้าทายเกี่ยวข้องกับคณิตศาสตร์ ลองพิจารณาใช้แท็กเฉพาะเจาะจงมากขึ้น: [number] [number-theory] [arithmetic] [combinatorics] [graph-theory] [เรขาคณิต] [abstract-algebra]

6
ส่ง Pi ... อย่างแม่นยำ
ต่อจากการประมาณค่า Monte Carlo ของ Piความท้าทายนี้คือการสร้างรหัสที่สั้นที่สุดสำหรับค่าคงที่ Pi ยกเว้นที่นี่รหัสของคุณจะต้องส่งออกตัวเลข pi ติดต่อกันตลอด นี่คือรหัสกอล์ฟดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) ชนะยกเว้นว่าจะต้องส่งออก 10,000 หลักแรกในเวลาน้อยกว่า 10 วินาทีบนพีซีที่เหมาะสมและจะต้องไม่สิ้นสุด คุณไม่สามารถใช้ฟังก์ชั่น Pi หรือ Trig ในตัวได้ ลบขีด จำกัด ฮาร์ดในขนาดรหัส
11 code-golf  math  pi 

3
แก้ไข 2x Eigensystem
สำหรับผู้ที่มีพื้นหลังพีชคณิตเชิงเส้นเล็ก ๆ ความท้าทายนั้นง่ายเหมือนนี้: กำหนดค่าลักษณะเฉพาะและค่าลักษณะเฉพาะของเมทริกซ์ 2x2 ที่ซับซ้อน คุณอาจข้ามไปข้างหน้ารายละเอียด The Challenge for I / O เป็นต้นสำหรับผู้ที่ต้องการทบทวนระบบ eigens ให้อ่านต่อ พื้นหลัง สมลักษณะของเมทริกซ์ถูกกำหนดโดย det| A - λI | = 0 โดยที่λเป็นพารามิเตอร์ที่ซับซ้อน (สเกลาร์) ฉันเป็นเมทริกซ์เอกลักษณ์และเดช | ... | เป็นปัจจัย ด้านซ้ายมือจะประเมินพหุนามในλซึ่งเป็นพหุนามลักษณะซึ่งเป็นกำลังสองในกรณีของเมทริกซ์ 2x2 การแก้สมการลักษณะนี้เป็นลักษณะเฉพาะของซึ่งเราจะแสดงเป็นλ 1และλ 2 ตอนนี้eigenvectors v ฉันของความพึงพอใจ A vi = λi vi สำหรับแต่ละλ iนี่จะให้ระบบสมการสองอันในสองสิ่งที่ไม่รู้จัก (ส่วนประกอบของv i ) …

10
ฟีโบนัชชีโดมิโนปูกระเบื้อง
มีผล combinatorial คลาสสิกที่หลายวิธีที่จะกระเบื้อง2*nแถบโดย1*2แต้มเป็นที่ n THจำนวนฟีโบนักชี เป้าหมายของคุณคือการพิมพ์ความลาดเอียงทั้งหมดเพื่อให้nวาดด้วยขีดกลางและเส้นแนวตั้งเช่น 8 เอียงเหล่านี้สำหรับn=5: |———— |———— ——|—— ——|—— |||—— |||—— ————| ————| ||——| ||——| |——|| |——|| ——||| ——||| ||||| ||||| คุณต้องจัดเตรียมโปรแกรมหรือฟังก์ชั่นที่มีชื่อซึ่งใช้nเป็นอินพุตและพิมพ์เอาต์พุตที่ต้องการ ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ อินพุต ตัวเลขnระหว่าง1และ10รวมผ่าน STDIN หรืออินพุตฟังก์ชัน เอาท์พุต พิมพ์ทุกโดมิโนที่เป็นไปได้ของ2*nแถบที่วาดในแนวนอน รอยยิ้มอาจอยู่ในลำดับใดก็ได้ แต่แต่ละอันควรปรากฏอย่างแน่นอนหนึ่งครั้ง จะต้องคั่นด้วยบรรทัดว่าง โดมิโนแนวตั้งทำจากแท่งแนวตั้งสองอัน ( |) และโดมิโนแนวนอนทำจากเครื่องหมายขีดกลางสองอัน ( —) คุณอาจใช้เครื่องหมายขีดกลาง ( -) แทนเครื่องหมายขีดกลางเพื่ออยู่ใน ASCII คุณสามารถทำอะไรกับช่องว่างตราบเท่าที่ผลลัพธ์ที่พิมพ์ออกมามีลักษณะเหมือนกัน

6
เมื่อรับ r และ n ให้หาตัวเลข n แรกของ x โดยที่การเลื่อนตำแหน่งแรกของ x ไปยังสุดจะให้ x / r = y
วัตถุประสงค์ ได้รับการป้อนข้อมูลrและnพบว่าคนแรกที่nหมายเลขธรรมชาติเช่นว่าถ้าเราหมุนหลักแรกไปยังสถานที่สุดท้ายที่เราได้รับxx/r คุณอาจจะคิดว่าและ2 <= r <= 91 <= n <= 65535 คุณสามารถเขียนโปรแกรมที่รับอินพุตจากอาร์กิวเมนต์ stdin หรือ command-line; หรือคุณอาจเขียนฟังก์ชั่นที่ใช้rและnเป็นพารามิเตอร์ อย่างไรก็ตามเอาต์พุตควรเป็น stdout เอาท์พุทควรจะเป็นหนึ่งบรรทัดต่อมูลค่าของxในรูปแบบในการสั่งซื้อที่เพิ่มขึ้นของx/r=yx โซลูชันของคุณจะต้องสามารถจัดการกรณีที่ถูกต้องทั้งหมดภายในหนึ่งนาทีบนคอมพิวเตอร์เดสก์ท็อปที่เหมาะสม กรณีทดสอบ อินพุต: 4 5 เอาต์พุต: 102564/4=25641 205128/4=51282 307692/4=76923 410256/4=102564 512820/4=128205 อินพุต: 5 1 เอาต์พุต:714285/5=142857 นี่คือ code-golf ดังนั้นอย่างน้อยไบต์จะชนะ คำตอบที่ชนะจะได้รับการยอมรับ 4 สัปดาห์นับจากนี้ (2014-09-19) เครดิตสำหรับคำถามนี้ไปที่เพื่อนร่วมงานของฉันที่อนุญาตให้ฉันโพสต์คำถามนี้ได้ที่นี่ :)

2
X ที่มากกว่า 3 มีความแตกต่างอย่างน้อย 2 อย่างระหว่าง X และ Y
ฉันกำลังพยายามตีกอล์ฟ C ++ บางตัว เป็นไปได้ไหมที่ทำให้สภาพนี้สั้นลง? X > 3 & X - Y > 1 (นอกเหนือจากการลบช่องว่างออกแน่นอน) ดังนั้นXอย่างน้อยแต่4X >= Y + 2 XและYเป็นจำนวนเต็มในช่วง [0,5] ฉันพยายามค้นหาสูตร bitwise แต่ล้มเหลว
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

5
ด้านหน้าของออยเลอร์ 9
Project Eulerเป็นอีกหนึ่งเว็บไซต์เกมสนุกที่ท้าทายในการแข่งขัน ปัญหาแรกเริ่มเบา ๆ แต่แล้วระเบิดในความยากลำบากเกินร้อยแรกหรือมากกว่านั้น ปัญหาสองสามข้อแรกมีความเหมือนกันบางอย่างระหว่างการค้นหาจำนวนเฉพาะทวีคูณและปัจจัยดังนั้นอาจมีโอกาสในการนำไมโครโค้ดกลับมาใช้ใหม่ที่น่าสนใจในการเล่นด้วย ดังนั้นการเขียนโปรแกรมที่แก้โดยใช้ไม่มีเบื้องต้นความรู้ใด ๆ ในครั้งแรก 9 ปัญหา ปัญหาถูกเลือกโดยผู้ใช้ ASCII '1' ถึง '9', รวม, ผ่านอาร์กิวเมนต์เมื่อมีการโทรหรืออินพุตมาตรฐานในขณะที่ทำงาน (คุณสามารถคำนวณคำตอบทั้งหมด แต่แสดงเพียงคำตอบเดียว) คำตอบที่ถูกต้องจะต้องพิมพ์บนบรรทัดใหม่ในฐาน 10 โดยใช้ ASCII โปรแกรมควรดำเนินการในเวลาน้อยกว่าหนึ่งนาที (ข้อเสนอแนะ PE) โดย "ไม่มีเบื้องต้นความรู้" ผมหมายถึงรหัสของคุณจะต้องได้มาซึ่งคำตอบที่ไม่มีทรัพยากรภายนอก‡ โปรแกรมเช่นนี้จะถือว่าไม่ถูกต้อง (ไม่อย่างนั้นก็ถูกต้องสมมติว่าฉันไม่ได้พิมพ์ผิด): print[233168,4613732,6857,906609,232792560,25164150,104743,40824,31875000][input()-1] ‡สำหรับปัญหา # 8 (เกี่ยวข้องกับตัวเลข 1,000 หลัก) คุณสามารถอ่านตัวเลขจากไฟล์ภายนอกเพียงแค่ระบุวิธีการจัดเก็บ (เช่นไบนารี, ข้อความ, ส่วนหัว, โมดูลที่นำเข้า) และ / หรือรวมไว้ในคำตอบของคุณ ( ไม่นับรวมกับความยาวของโปรแกรมหลัก) คะแนนเป็นไบต์ …
11 code-golf  math 

23
คำนวณสี่เหลี่ยมทั้งหมดจนถึง x โดยใช้การบวกและการลบเท่านั้น
เป้าหมายคือการคำนวณกำลังสองทั้งหมดxด้วยการบวกและการลบ กฎ: รหัสจะต้องเป็นฟังก์ชั่นที่ใช้จำนวนสแควร์สทั้งหมดในการสร้างและส่งกลับอาร์เรย์ที่มีสแควร์ทั้งหมด คุณไม่สามารถใช้สตริงโครงสร้างการคูณการหารหรือฟังก์ชันในตัวสำหรับการคำนวณกำลังสอง คุณสามารถใช้อาร์เรย์จำนวนเต็ม (จำนวนเต็ม) การบวกการลบเท่านั้น ไม่มีผู้ให้บริการรายอื่นอนุญาต! นี่เป็นคำถามเกี่ยวกับcode-golfดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!
11 code-golf  math  number 

2
ใช้ superoptimizer สำหรับการเพิ่ม
งานคือการเขียนรหัสที่สามารถหาสูตรตรรกะขนาดเล็กสำหรับจำนวนบิต ความท้าทายโดยรวมคือการให้โค้ดของคุณค้นหาสูตรเชิงตรรกะที่มีความเป็นไปได้น้อยที่สุดเพื่อตรวจสอบว่าผลรวมของตัวแปร y ไบนารี 0/1 เท่ากับค่า x หรือไม่ ให้เราเรียกตัวแปร x1, x2, x3, x4 เป็นต้นนิพจน์ของคุณควรเท่ากับผลรวม นั่นคือสูตรตรรกะควรเป็นจริงถ้าหากผลรวมเท่ากับ x นี่เป็นวิธีที่ไร้เดียงสาที่จะเริ่มต้นด้วย พูดว่า y = 15 และ x = 5. เลือกวิธีทั้งหมด 3003 วิธีในการเลือกตัวแปร 5 ตัวและแต่ละอันสร้างประโยคใหม่ด้วย AND และของตัวแปรเหล่านั้นและ AND ของตัวแปรที่เหลือ คุณจบด้วย 3003 ส่วนของความยาวแต่ละข้อ 15 สำหรับค่าใช้จ่ายทั้งหมด 45054 คำตอบของคุณควรเป็นนิพจน์เชิงตรรกะของการเรียงลำดับที่สามารถวางลงในไพ ธ อนพูดดังนั้นฉันสามารถทดสอบได้ หากคนสองคนมีขนาดเท่ากันรหัสที่ทำงานเร็วที่สุดจะเป็นผู้ชนะ คุณได้รับอนุญาตให้แนะนำตัวแปรใหม่ในโซลูชันของคุณ ดังนั้นในกรณีนี้สูตรตรรกะของคุณประกอบด้วยตัวแปร y แบบไบนารี, x และตัวแปรใหม่บางอย่าง …

9
ค้นหาตำแหน่งของเศษส่วนในต้นไม้ Stern-Brocot
ต้นไม้สเติร์น-Brocotเป็นต้นไม้ไบนารีของเศษส่วนที่แต่ละส่วนจะได้รับโดยการเพิ่ม numerators และ denominators ของทั้งสองเศษส่วนเพื่อนบ้านในระดับดังกล่าวข้างต้น มันถูกสร้างขึ้นโดยเริ่มต้นด้วย0/1และ1/0เป็น "เศษส่วนจุดปลาย" และจากนั้นทำซ้ำโดยการวางเศษส่วนหนึ่งเศษระหว่างคู่ของเศษส่วนที่ต่อเนื่องกันโดยการเพิ่มตัวเศษและส่วนของเศษส่วนเหล่านั้นเข้าด้วยกันดังนี้: 0. 0/1 1/0 1. 0/1 1/1 1/0 2. 0/1 1/2 1/1 2/1 1/0 3. 0/1 1/3 1/2 2/3 1/1 3/2 2/1 3/1 1/0 4. 0/1 1/4 1/3 2/5 1/2 3/5 2/3 3/4 1/1 4/3 3/2 5/3 2/1 5/2 3/1 4/1 1/0 ในการทำซ้ำของต้นไม้สเติร์น-Brocot …

6
แปลง 1 เป็นจำนวนเต็มบวกใด ๆ โดยใช้การดำเนินการ * 3 และ / 2 เท่านั้น
จำนวนเต็มบวกใด ๆ สามารถรับได้โดยเริ่มต้นด้วย1และการประยุกต์ใช้ลำดับของการดำเนินงานของแต่ละคนซึ่งเป็นทั้ง"คูณด้วย 3"หรือ"หารด้วย 2 ทิ้งเหลือใด ๆ" ตัวอย่าง (เขียน f สำหรับ * 3 และ g สำหรับ / 2): 4 = 1 *3 *3 /2 = 1 ffg 6 = 1 ffggf = 1 fffgg 21 = 1 fffgfgfgggf เขียนโปรแกรมด้วยพฤติกรรมดังต่อไปนี้: อินพุต : จำนวนเต็มบวกใด ๆ ผ่าน stdin หรือรหัสฮาร์ดโค้ด (ถ้าฮาร์ดโค้ดตัวเลขอินพุตจะถูกแยกออกจากความยาวของโปรแกรม) เอาต์พุต : สตริงของ …

1
สร้างตัวเลขโดยใช้รายการตัวเลขและตัวดำเนินการทางคณิตศาสตร์ที่ระบุ
คุณจะได้รับรายชื่อของตัวเลขL = [17, 5, 9, 17, 59, 14]ถุงประกอบและตัวเลขO = {+:7, -:3, *:5, /:1}N = 569 งาน เอาท์พุทสมการที่ใช้ตัวเลขทั้งหมดในLด้านซ้ายมือและเฉพาะตัวเลขNทางด้านขวามือ หากไม่สามารถทำได้ให้ส่งค่า False ตัวอย่างการแก้ปัญหา: 59*(17-5)-9*17+14 = 569 ข้อ จำกัด และการชี้แจง คุณไม่สามารถต่อหมายเลข ( [13,37]อาจใช้เป็น1337) Lเท่านั้นที่เป็นธรรมชาติและเป็นศูนย์จะปรากฏใน ลำดับในLไม่สำคัญ Lคุณต้องใช้ตัวเลขทั้งหมดใน เฉพาะผู้ประกอบการ+, -, *, จะปรากฏใน/O Oสามารถมีผู้ประกอบการมากกว่าที่คุณต้องการ แต่อย่างน้อย|L|-1ผู้ประกอบการ Oคุณอาจจะใช้ประกอบการแต่ละจำนวนครั้งใดขึ้นอยู่กับค่าใน การดำเนินการทั้งสี่ในOนั้นเป็นการดำเนินการทางคณิตศาสตร์มาตรฐาน โดยเฉพาะอย่างยิ่ง/คือการหารปกติที่มีเศษส่วนที่แน่นอน จุด คะแนนที่น้อยกว่าดีกว่า ตัวละครทุกรหัสของคุณให้คุณจุดหนึ่ง คุณต้องจัดเตรียมเวอร์ชันที่ไม่ตีกอล์ฟซึ่งอ่านง่าย พื้นหลัง คำถามที่คล้ายกันก็ถามว่าในกองมากเกิน ฉันคิดว่ามันอาจจะเป็นความท้าทายรหัส - กอล์ฟที่น่าสนใจ …

22
ค้นหา C-factor ของการโหวต
ในการท้าทายนี้คุณจะพิจารณาว่าการลงคะแนนเสียงเป็นอย่างไรให้คะแนนแบบอื่นโดยการหาตัวเลขที่เรียกว่า C-factor C-factor คืออะไรคุณถาม? ลองจินตนาการว่าคุณได้รับการโหวตหลายครั้งจากการเลือกตั้ง เราจะใช้1และ0เพื่อความท้าทายในการเป็นตัวแทนผู้สมัครที่แตกต่างกันสองคนในการเลือกตั้ง นี่คือสิบคะแนนโหวตในการเลือกตั้งตัวอย่างของเรา: 0110111011 ตอนนี้บอกว่าเราต้องการที่จะหา C-ปัจจัยการโหวตใด ๆ 0สำหรับผู้สมัคร เราสามารถทำได้ด้วยฟังก์ชั่นต่อไปนี้: f(o,v)=abs(o−mean(v))f(o,v)=abs(o−mean(v)) f(o,v) = abs(o-mean(v)) ในfff , oเป็นคะแนนเสียงที่เราต้องการที่จะตรวจสอบ C-ปัจจัยและvเป็นอาร์เรย์ของคะแนนเสียง ดังนั้นโดยใช้ฟังก์ชั่นของเราเพื่อรับ C-factor ของการโหวตสำหรับผู้สมัคร0: f(0,[0,1,1,0,1,1,1,0,1,1])=0.7f(0,[0,1,1,0,1,1,1,0,1,1])=0.7 f(0, [0,1,1,0,1,1,1,0,1,1]) = 0.7 C-factor ที่ต่ำกว่าแสดงให้เห็นว่าการโหวตนั้นมีความขัดแย้งน้อยกว่าเมื่อเปรียบเทียบกับการโหวตอื่น ๆ ดังนั้นการลงคะแนนเสียงให้ผู้สมัคร0มีมากขึ้นแตกต่างจากคะแนนโหวตอื่น ๆ 1นอกเหนือจากการลงคะแนนสำหรับผู้สมัคร ในการเปรียบเทียบปัจจัย C สำหรับการ1ลงคะแนนเสียงของผู้สมัครคือ0.30.30.3ดังนั้นจึงเป็นเรื่องที่ถกเถียงกันน้อยลงเพราะมันเหมือนกับการโหวตอื่น ความท้าทาย เขียนฟังก์ชั่นf(o,v)f(o,v)f(o,v)ในการกำหนด C-ปัจจัยของการลงคะแนนผลการได้รับการโหวตov oต้องเป็นจำนวนเต็มทั้งหรือ01 v จะต้องเป็นอาร์เรย์ (หรือประเภทภาชนะที่คล้ายกันขึ้นอยู่กับข้อกำหนดของภาษา) ของความยาวโดยพลการที่มีศูนย์และคน ฟังก์ชั่นควรส่งคืนหรือพิมพ์ไปยังคอนโซลด้วยผลลัพธ์ C-factor ที่กำหนดพารามิเตอร์ของฟังก์ชันโดยใช้สูตรด้านบนหรือวิธีการแก้ไข โชคดี! …

6
ตัวเลขขนาดใหญ่ไหนที่ใหญ่กว่า
คำถามนี้มีเล่ห์เหลี่ยม (และโดยเฉพาะอย่างยิ่งยากกว่าเลขใหญ่ใดที่ใหญ่กว่า ) สำหรับผู้ที่ชอบปริศนาที่ท้าทายมากขึ้น อินพุต จำนวน a1, a2, a3, a4, a5, b1, b2, b3, b4, b5 แต่ละค่าในช่วง 1 ถึง 10 เอาท์พุต True if a1^(a2^(a3^(a4^a5))) > b1^(b2^(b3^(b4^b5))) and False otherwise. ^ คือการยกกำลังในคำถามนี้ กฎระเบียบ นี่คือรหัสกอล์ฟ รหัสของคุณจะต้องยุติการอย่างถูกต้องภายใน 10 วินาทีสำหรับการป้อนข้อมูลที่ถูกต้องใด ๆ ในTIO หากภาษาของคุณไม่ได้อยู่ใน TIO รหัสควรเสร็จสิ้นภายใน 10 วินาทีในเครื่องของคุณ คุณสามารถเอาท์พุทอะไรจริงสำหรับ True และอะไรเท็จสำหรับเท็จ กรณีทดสอบ จำได้ว่าตามกฎของ exponentiaon, a1 …

10
Fizzbuzz ในทุกฐาน
ท้าทาย การป้อนข้อมูล: จำนวนเต็มระหว่าง 2 ถึง 62 (รวม)ขbb เอาท์พุท: นับจากถึงเทียบเท่าในฐานโดยใช้การแทนค่าที่เหมาะสมสำหรับตัวเลข1115000105000105000_{10}ขbb อย่างไรก็ตาม: หากจำนวนหารด้วย (ปัดลงเช่นฐาน 7 จะเป็น 7/2 = 3.5, 3.5 + 1 = 4.5, ปัดเศษเป็น4 ) จากนั้นเอาท์พุท 'Fizz' แทนตัวเลข .⌊ b ÷ 2 + 1 ⌋⌊b÷2+1⌋\lfloor b÷2+1\rfloor หากจำนวนหารด้วย (ปัดขึ้นเช่น 11/3 = 3.666, 3.666 + 3 = 6.666, ปัดเศษเป็น7 ) จากนั้นเอาท์พุท 'Buzz'⌈ b …
10 code-golf  math  binary 

22
รายการคาร์ทีเซียนของรายการด้วยตัวเอง n ครั้ง
เมื่อได้รับรายชื่อ aa และค่าจำนวนเต็มบวกnรหัสของคุณควรเอาท์พุทผลิตภัณฑ์คาร์ทีเซียนของรายการด้วยnเวลาตัวเอง ตัวอย่างเช่นใน pseudocode ฟังก์ชั่นของคุณอาจคล้ายกับ: for x1 in list: for x2 in list: for x3 in list: ... for xn in list: print x1, x2, x3, ... , xn ตัวอย่าง: repeated_cart([1,2,3], 3) 1 1 1 1 1 2 1 1 3 1 2 1 1 2 2 1 2 …

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