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

ความท้าทายที่เกี่ยวข้องกับคณิตศาสตร์ระดับประถมศึกษา

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 

30
การทดสอบการแบ่งแยก
งาน ได้รับสองจำนวนเต็มบวกอย่างเคร่งครัดnและdเป็น input ตรวจสอบว่าnคือเท่ากันหารโดยdคือถ้ามีจำนวนเต็มคิวn = qdดังกล่าวว่า คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานของเราในการรับอินพุตและให้เอาต์พุต เอาท์พุทควรจะเป็นtruthy หรือค่า falsy ; ความจริงถ้าnหารด้วยdและเป็นเท็จอย่างอื่น รหัสของคุณต้องจัดการกับจำนวนเต็มเท่านั้นซึ่งสามารถเป็นตัวแทนได้จริงตราบใดที่มันใช้ได้กับเลขจำนวนเต็ม 8 บิตที่ลงชื่อทั้งหมด อย่างไรก็ตามอัลกอริทึมของคุณต้องใช้งานสำหรับจำนวนเต็มขนาดใหญ่โดยพลการ คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - วัดเป็นไบต์ - ชนะ กรณีทดสอบ n, d output 1, 1 truthy 2, 1 truthy 6, 3 truthy 17, 17 truthy 22, 2 truthy 1, 2 falsy 2, 3 falsy 2, 4 …

22
การวิเคราะห์ข้อความ
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในสายอักขระที่รับประกันว่าจะมีอักขระ ASCII ที่พิมพ์ได้ยกเว้นพื้นที่และเป็นความยาวรูปสามเหลี่ยม (1, 3, 6, 10, 15, 15, ... ) พิมพ์หรือส่งคืนสายเดียวกัน แต่รูปร่างเป็นรูปสามเหลี่ยมโดยใช้ช่องว่าง ตัวอย่างบางส่วนจะแสดงสิ่งที่ฉันหมายถึง: ถ้าอินพุตเป็นRเอาต์พุตจะเป็น R ถ้าอินพุตเป็นcatเอาต์พุตจะเป็น c a t ถ้าอินพุตเป็นmonk3yเอาต์พุตจะเป็น m o n k 3 y ถ้าอินพุตเป็นmeanIngfu1เอาต์พุตจะเป็น m e a n I n g f u 1 ถ้าอินพุตเป็น^/\/|\/[]\เอาต์พุตจะเป็น ^ / \ / | \ / [ ] \ หากอินพุตเป็น …

24
คำนวณผลรวมความแตกต่างของตัวเลข
ลองพิจารณาจำนวนเต็มที่ไม่เป็นลบเช่น 8675309 และคำนวณค่าสัมบูรณ์ของความแตกต่างระหว่างคู่หลักทั้งหมดที่อยู่ใกล้เคียง สำหรับการ8675309ที่เราได้รับ|8-6| = 2, |6-7| = 1, |7-5| = 2, |5-3| = 2, ,|3-0| = 3 คบผลลัพธ์เหล่านี้เข้าด้วยกันอัตราผลตอบแทนอื่นจำนวนเต็มไม่ใช่เชิงลบที่มีขนาดเล็ก:|0-9| = 9 212239ทำซ้ำกระบวนการให้11016แล้ว0115ซึ่งโดยการประชุมที่ศูนย์นำไม่เขียนลดความซับซ้อนเป็น115ซึ่งจะกลายเป็น04หรือ4ซึ่งไม่สามารถลดได้อีกต่อไป 8675309 + 212239 + 11016 + 115 + 4 = 8898683ข้อสรุปค่าทั้งหมดเหล่านี้ที่เราได้รับ ลองกำหนด Digit Difference Sum (หรือ DDS) เป็นการดำเนินการของการรับความแตกต่างของตัวเลขเพื่อสร้างตัวเลขใหม่จากนั้นเพิ่มตัวเลขผลลัพธ์ทั้งหมดลงในต้นฉบับ นี่คือ 20 ค่าแรกในลำดับ DDS ที่เกี่ยวข้อง: N DDS(N) 0 0 1 …

5
เพิ่มตัวเลขด้วย Regex
ฉันต้องการลองความท้าทายกอล์ฟ regex รูปแบบใหม่ซึ่งขอให้คุณแก้ปัญหาการคำนวณแบบไม่ย่อยโดยไม่มีอะไรนอกจากการทดแทน regex เพื่อให้เป็นไปได้มากขึ้นและน้อยลงของงานบ้านคุณจะได้รับอนุญาตให้ใช้การทดแทนหลายอย่างหนึ่งหลังจากที่อื่น ความท้าทาย เราจะเริ่มต้นง่าย: กำหนดสตริงที่มีจำนวนเต็มบวกสองจำนวนโดยที่ตัวเลขทศนิยมคั่นด้วย a ,สร้างสตริงที่มีผลรวมของพวกเขาเช่นเดียวกับเป็นทศนิยม ดังนั้นง่ายมาก 47,987 ควรเปลี่ยนเป็น 1034 คำตอบของคุณควรใช้กับจำนวนเต็มบวกโดยพลการ รูปแบบ ทุกคำตอบควรเป็นลำดับของขั้นตอนการทดแทนแต่ละขั้นตอนประกอบด้วย regex และสตริงการแทนที่ เป็นทางเลือกสำหรับแต่ละขั้นตอนเหล่านี้ในลำดับคุณอาจเลือกที่จะทำซ้ำการทดแทนจนกว่าสตริงจะหยุดการเปลี่ยนแปลง นี่คือตัวอย่างการส่ง (ซึ่งไม่ได้แก้ปัญหาข้างต้น): Regex Modifiers Replacement Repeat? \b(\d) g |$1 No |\d <none> 1| Yes \D g <empty> No รับอินพุต123,456การส่งนี้จะประมวลผลอินพุตดังนี้: การทดแทนแรกจะถูกใช้เพียงครั้งเดียวและให้ผลลัพธ์: |123,|456 ตอนนี้การทดแทนที่สองถูกนำไปใช้ในการวนซ้ำจนกว่าสตริงจะหยุดการเปลี่ยนแปลง 1|23,|456 11|3,|456 111|,|456 111|,1|56 111|,11|6 111|,111| และสุดท้ายการทดแทนที่สามจะถูกนำมาใช้ครั้งเดียว: 111111 …

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 …

30
ค็อป - สแควร์คูณสแควร์รูท
หมายเหตุ: นี่คือตำรวจ 'กระทู้ที่หนึ่งควรโพสต์รหัสสัญญาณรบกวน นี่คือเธรดของโจรที่แหล่งแตกที่ควรโพสต์และเชื่อมโยงกับคำตอบของตำรวจ ภารกิจ:เขียนโปรแกรมที่ปลอดภัยที่สั้นที่สุดซึ่งคูณสแควร์รูทของจำนวนเต็มnด้วยกำลังสองของn นี่คือตำรวจและโจรดังนั้นกฎคือ: ในคำตอบของคุณให้โพสต์ซอร์สโค้ดเวอร์ชันที่มีสัญญาณรบกวนของคุณ (ตัวอักษรควรเขียนตามลำดับใด ๆ ) รุ่นที่มีสัญญาณรบกวนไม่ควรทำงาน! คุณสามารถรับอินพุตด้วยวิธีมาตรฐานใด ๆ ก็ได้เช่นเดียวกันสำหรับเอาต์พุต ห้ามใช้ Hardcoding หลังจากรหัสถูกถอดรหัสโดยโจร (หากเกิดเหตุการณ์นี้) คุณต้องพูดถึงว่ารหัสของคุณถูกถอดรหัสในชื่อของคุณและเพิ่มสปอยเลอร์ในร่างกายของคำตอบของคุณด้วยรหัสที่แน่นอนของคุณ เช่นเดียวกับคำตอบที่ปลอดภัย (พูดถึงว่าปลอดภัยและเพิ่มสปอยเลอร์ ) รหัสนี้ถือว่าปลอดภัยหากไม่มีใครถอดรหัสได้ใน 5 วันหลังจากโพสต์และคุณสามารถระบุได้ในชื่อเรื่อง คุณต้องระบุภาษาการเขียนโปรแกรมของคุณ คุณควรระบุจำนวนไบต์ของคุณ คุณต้องระบุกลไกการปัดเศษในคำตอบของคุณ (ดูด้านล่าง) คุณสามารถสันนิษฐานได้ว่าผลลัพธ์ต่ำกว่า 2 32และnนั้นเป็นค่าบวกเสมอ หากผลลัพธ์เป็นจำนวนเต็มคุณต้องส่งคืนค่าที่แน่นอนโดยมีหรือไม่มีจุดทศนิยม มิฉะนั้นความแม่นยำทศนิยมขั้นต่ำจะเป็นทศนิยม 3 ตำแหน่งพร้อมกลไกการปัดเศษใด ๆ ที่คุณเลือก แต่สามารถรวมได้มากกว่า คุณต้องระบุกลไกการปัดเศษในคำตอบของคุณ คุณไม่ได้รับอนุญาตให้ส่งคืนเป็นเศษส่วน (เศษ, คู่ส่วน - ขออภัย, Bash!) ตัวอย่าง: In -> Out …

30
เอาท์พุทจำนวนมากที่สุดด้วยตัวเลขที่น้อยที่สุด
รับรายการที่ไม่มีข้อ จำกัด ของจำนวนเต็มเลขฐานสิบบวกเอาท์พุทจำนวนมากที่สุดจากชุดของตัวเลขที่มีตัวเลขน้อยที่สุด รายการอินพุตจะไม่เรียงตามลำดับใด ๆ และอาจมีค่าซ้ำ ตัวอย่าง: [1] -> 1 [9] -> 9 [1729] -> 1729 [1, 1] -> 1 [34, 3] -> 3 [38, 39] -> 39 [409, 12, 13] -> 13 [11, 11, 11, 1] -> 1 [11, 11, 11, 11] -> 11 [78, 99, 620, 1] -> …

28
หมายเลขเลย์แลนด์
รับจำนวนธรรมชาติn, กลับn-th จำนวนเลย์ หมายเลขเลย์แลนด์ ตัวเลขเลย์แลนด์เป็นจำนวนเต็มบวกkของแบบฟอร์ม k = x^y + y^x x,yจำนวนเต็มที่อยู่ที่ไหนอย่างเข้มงวดมากกว่า 1 พวกเขาจะระบุตามลำดับจากน้อยไปมาก แก้ไข: @DigitalTrauma แนะนำฉันรวมต่อไปนี้ "คำจำกัดความ": ลองนึกภาพเราโยนx^y+y^xถุงสำหรับค่าที่เป็นไปได้ทั้งหมดxและyและหลีกเลี่ยงการโยนซ้ำ จากนั้นเราจัดเรียงกระเป๋าใบนั้น ถุงเรียงเป็นลำดับของเรา รายละเอียด คุณอาจใช้การจัดทำดัชนีตาม 0 หรือ 1 สิ่งที่เหมาะกับคุณที่สุด โปรแกรมของคุณจะต้องสามารถส่งออกอย่างน้อยทุกหมายเลข Leyland น้อยกว่าจำนวนเต็ม 32 บิตที่ลงนามสูงสุด (หมายเลข Leyland สุดท้ายที่ต่ำกว่าขีด จำกัด นี้คือ1996813914ที่ดัชนี82) กรณีทดสอบ คำศัพท์สองสามคำแรกมีดังต่อไปนี้: 8, 17, 32, 54, 57, 100, 145, 177, 320, 368, 512, 593, …

30
ความแตกต่างของกำลังสองของผลบวก
ค้นหาความแตกต่างระหว่างผลรวมของกำลังสองกับผลรวมของกำลังสอง นี่คือการแสดงทางคณิตศาสตร์: (∑n)2−∑n2(∑n)2−∑n2\left(\sum n\right)^2-\sum n^2 โปรแกรม / วิธีการของคุณควรใช้สองอินพุตซึ่งเป็นขีด จำกัด ล่างและบนของช่วงและรวม ขีด จำกัด จะเป็นจำนวนเต็มทั้งจำนวนที่สูงกว่า 0 โปรแกรม / วิธีการของคุณควรส่งคืนคำตอบ คุณอาจใช้ฐานใดก็ได้ที่คุณต้องการ แต่โปรดระบุคำตอบของคุณว่าคุณใช้ฐานใด กรณีทดสอบ (ฐาน 10) 5,9 970 91,123 12087152 1,10 2640 นี่เป็นรหัสปกติของกอล์ฟดังนั้นคำตอบที่สั้นกว่าจึงดีกว่า

19
ค้นหาโซ่ Gozinta ที่แตกต่างทั้งหมด
โซ่ Gozinta (แรงบันดาลใจจากProject Euler # 606 ) ห่วงโซ่ gozinta สำหรับ n เป็นลำดับ{1,a,b,...,n}ที่แต่ละองค์ประกอบแบ่งอย่างถูกต้องต่อไป ตัวอย่างเช่นมีแปด gozinta โซ่ที่แตกต่างกันสำหรับ 12: {1,12}, {1,2,12}, {1,2,4,12}, {1,2,6,12}, {1,3,12}, {1,3,6,12}, {1,4,12} and {1,6,12}. ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก ( n > 1) และเอาท์พุทหรือส่งกลับค่าเชน gozinta ที่แตกต่างกันทั้งหมดสำหรับจำนวนที่กำหนด สั่งในเรื่องโซ่ (น้อยไปหามาก), คำสั่งของโซ่ไม่ได้ เมื่อมีโอกาสคุณจะไม่สามารถใช้ builtin ที่สามารถแก้ปัญหาได้ นี่คือรหัสกอล์ฟ แก้ไข: การลบ1เป็นอินพุตที่มีศักยภาพ

17
ช่วงเวลาอื่นนอกเหนือจาก Optimus
ท้าทาย ได้รับจำนวนเต็มอินพุทn > 0เอาท์พุทจำนวน primes (ที่อื่น ๆกว่าnถ้าnตัวเองเป็นสำคัญ) ที่สามารถผลิตได้โดยการเปลี่ยนหนึ่งหลักในการขยายตัวของทศนิยม n (โดยไม่ต้องเปลี่ยนจำนวนตัวเลข) ตัวอย่าง ตัวอย่างเช่นn = 2. โดยการเปลี่ยนหนึ่งหลักในการขยายทศนิยมของ2เราสามารถขึ้นมาสามตัวเลขที่สำคัญเพิ่มเติมดังนั้น3, 5, 7a(n) = 3 สำหรับตัวอย่างอื่น, n = 13. โดยการเปลี่ยนหนึ่งหลักคุณจะได้รับช่วงเวลา11, 17, 19, 23, 43, 53, 73, 83ดังนั้นa(13) = 8ดังนั้น สำหรับตัวอย่างสุดท้าย, n = 20. โดยการเปลี่ยนหนึ่งหลักคุณจะได้รับช่วงเวลา23, 29ดังนั้นa(20) = 2ดังนั้น ลำดับ ต่อไปนี้เป็นคำศัพท์ 20 คำแรกที่ให้คุณเริ่มต้นได้ นี่คือ OEIS A048853 4, 3, …

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 …

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