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

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

11
เพิ่มความแตกต่างยกกำลังสอง
พิจารณาการเปลี่ยนแปลงของค่าจำนวนเต็มจากไป1 Nเช่นตัวอย่างนี้สำหรับN = 4: [1, 3, 4, 2] เราจะถือว่ารายการนี้เป็นวงจรเช่นนั้น1และ2ได้รับการปฏิบัติเหมือนติดกัน ปริมาณหนึ่งที่เราสามารถคำนวณได้สำหรับรายการดังกล่าวคือผลต่างกำลังสองรวมของค่าที่อยู่ติดกัน: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 Nงานของคุณคือการหาการเปลี่ยนแปลงซึ่งจะเพิ่มปริมาณนี้ให้เป็นจำนวนเต็มบวก ในกรณีของN = 4ตัวอย่างข้างต้นจะไม่เหมาะสมที่สุด (อันที่จริงแล้วเป็นเพียงเล็กน้อย) เราสามารถบรรลุผลต่างกำลังสองรวม18กับการเปลี่ยนแปลงต่อไปนี้ (รวมถึงการเปลี่ยนแปลงอื่น ๆ ): [1, 4, 2, 3] อัลกอริทึมของคุณต้องทำงานในเวลาพหุนาม (จากN) โดยเฉพาะอย่างยิ่งคุณไม่สามารถคำนวณความแตกต่างยกกำลังสองทั้งหมดของพีชคณิตทั้งหมดได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ ผลลัพธ์อาจอยู่ในรูปแบบรายการแบบแบนหรือแบบสตริงที่สะดวกใด ๆ คุณอาจเลือกที่จะกลับรายการที่มีค่าจาก0การN-1แทนไป1N ใช้กฎมาตรฐานของกอล์ฟ ทดสอบข้อมูล มีวิธีการวิเคราะห์ที่ดีสำหรับปัญหานี้ เช่นโซลูชันที่ถูกต้องทั้งหมดN …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

13
วิธีการสี่เหลี่ยมกลาง
บทนำ วิธีการกลางสแควร์จะใช้สำหรับการสร้างตัวเลขหลอกเทียม อย่างไรก็ตามนี่ไม่ใช่วิธีการที่ดีในการปฏิบัติเนื่องจากช่วงเวลานั้นมักจะสั้นมากและมีจุดอ่อนที่รุนแรง มันทำงานอย่างไร ลองมาตัวอย่าง: สำหรับเมล็ดเราเลือก123456: Seed 123456 เมล็ดกำลังสอง (เมล็ด×เมล็ด) เท่ากับ: Seed² 15241383936 เราเริ่มต้นด้วย6 หลักจำนวน นั่นหมายความว่าเมล็ดยืดควรส่ง12 บาทจำนวน หากไม่ใช่กรณีนี้จะมีการเพิ่มศูนย์นำหน้าเพื่อชดเชย: Seed² 015241383936 จากนั้นเราจะนำส่วนตรงกลางของจำนวนที่มีขนาดเท่ากับเมล็ด: Seed² 015241383936 ^^^^^^ นี่คือเมล็ดพันธุ์ใหม่ของเรา: 241383. เราทำซ้ำกระบวนการเดียวกันตามที่แสดงด้านบน เราได้รับดังต่อไปนี้: 0: 123456 015241383936 | | 1: 241383 058265752689 | | 2: 265752 070624125504 | | 3: 624125 389532015625 | | 4: 532015 …

20
คำนวณ minimax ของอาร์เรย์
พิจารณาอาร์เรย์xเช่น[1 5 3 4]และจำนวนตัวอย่างเช่นn 2เขียน length- ทั้งหมดnsubarrays [1 5]เลื่อน: [5 3], [3 4], ปล่อยให้minimaxของ array ถูกกำหนดเป็นค่าต่ำสุดของ maxima ของบล็อกแบบเลื่อน ดังนั้นในกรณีนี้ก็จะเป็นขั้นต่ำของซึ่งเป็น5, 5, 44 ท้าทาย ให้อาร์เรย์xและจำนวนเต็มบวกnเอาท์พุท minimax ตามที่นิยามไว้ข้างต้น อาร์เรย์xจะมีจำนวนเต็มบวกเท่านั้น nมักจะเป็นอย่างน้อยและในที่สุดความยาวของ1x การคำนวณอาจทำได้โดยขั้นตอนใด ๆ โดยไม่จำเป็นต้องเป็นไปตามที่กำหนดไว้ข้างต้น รหัสกอล์ฟน้อยที่สุดที่จะชนะ กรณีทดสอบ x, nส่งผลให้เกิด [1 5 3 4], 2 4 [1 2 3 4 5], 3 3 [1 1 1 …

1
ทำสมการทางคณิตศาสตร์นับจากวันที่
ในชั้นเรียนวิชาเศรษฐศาสตร์เพื่อนของฉันและฉันชอบคิดหาวิธีจัดเรียงตัวเลขใหม่ในรูปแบบวันที่ (เป็น MM / DD / YY) เพื่อสร้างสมการทางคณิตศาสตร์ที่ถูกต้อง ส่วนใหญ่เราได้รับอนุญาตให้ใช้การบวกการลบการคูณการหารวงเล็บและการยกกำลังนอกเหนือไปจากการต่อข้อมูล โปรแกรมของคุณควรทำสิ่งที่คล้ายกัน โปรแกรมควรนำเข้าวันที่ปัจจุบันและตัวดำเนินการแทรกเพื่อพิมพ์นิพจน์ตามกฎต่อไปนี้ ต้องใช้ตัวเลขตามลำดับ ไม่อนุญาตให้จัดเรียงตัวเลข การแสดงออกที่เกิดขึ้นจะต้องถูกต้องทางคณิตศาสตร์ อนุญาตการบวกการลบการคูณการหารการยกกำลังและการใช้วงเล็บได้ ดังนั้นการต่อกันของตัวเลข อย่างไรก็ตามการดำเนินการบางอย่างไม่จำเป็นต้องมี คุณไม่สามารถใช้เครื่องหมายลบเพื่อสร้างตัวเลขลบ (เช่น-1+1+11=10วันที่ 11 พฤศจิกายน 2010) โปรแกรมจะต้องทำงานใน 60 วินาทีบนเครื่องมาตรฐาน ตัวอย่างเช่นความท้าทายนี้เขียนเมื่อวันที่ 10 พฤศจิกายน 2558 โปรแกรมจะตีความสิ่งนี้เป็น 11/10/15 (1+1)/10=1/5การส่งออกจะเป็นตัวอย่าง โบนัส คุณอาจคูณจำนวนไบต์ในรหัสของคุณด้วย 0.9 สำหรับแต่ละรายการของโปรแกรมของคุณที่สนับสนุน โปรแกรมพิมพ์นิพจน์ที่เป็นไปได้ทั้งหมดที่สามารถจัดรูปแบบคั่นด้วยบรรทัดใหม่ คูณด้วย 0.95 เพิ่มเติมหากนิพจน์แสดงรายการตามลำดับที่เพิ่มขึ้นของสัญลักษณ์เพิ่มเติม โปรแกรมนี้ยังใช้งานได้กับวันที่ MM / DD / YYYY พิมพ์ความเป็นไปได้ด้วยตัวเลขสองหลักแรกของปีนอกเหนือจากความเป็นไปได้โดยไม่ต้อง หากโบนัสนี้รวมกับโบนัสแรกจะต้องพิมพ์ความเป็นไปได้ทั้งหมดที่มีตัวเลขสองหลักแรกของปี โปรแกรมนี้ยังพิมพ์สมการเมื่อมีหลาย equalities …

2
ท้าวทำคณิตศาสตร์!
ลำดับของการดำเนินการ PEMDAS เป็นกฎพื้นฐานในคณิตศาสตร์ที่บอกเราว่าควรดำเนินการตามคำสั่งอย่างไร: "วงเล็บเลขชี้กำลังการคูณและการหารและการบวกและลบ" ปัญหาคือ PEMDAS ไม่หลากหลายมาก! ถ้าคุณต้องการที่จะทำในลำดับอื่น เราจะไม่ยุ่งกับวงเล็บดังนั้นเราจึงเก็บมันไว้ในที่ที่มันอยู่ (อันดับแรก) สร้างโปรแกรมที่รับสองอาร์กิวเมนต์: สตริงที่บอกลำดับการดำเนินการที่ควรปฏิบัติ ตัวอย่างบางส่วน"DAMES", "SAD, ME", ,"ME SAD" "MEADS"ใช่ช่องว่างและเครื่องหมายจุลภาคก็โอเคเพราะทำให้ง่ายต่อการจดจำคำสั่ง การติดตามคำแนะนำในการแชท: การสนับสนุนช่องว่างและเครื่องหมายจุลภาคเป็นทางเลือก หากตัวอักษรตัวใดตัวหนึ่งหายไปหรือหากมีตัวอักษรเพิ่มเติมที่ไม่ควรอยู่ที่นั่นคุณสามารถพิจารณาอินพุตที่ไม่ถูกต้องและจัดการตามที่คุณต้องการ สตริงหรือนิพจน์ที่มีนิพจน์ที่ควรได้รับการประเมิน ส่งคืนผลลัพธ์ของนิพจน์เป็นตัวเลขทศนิยมหรือจำนวนเต็ม หากคำตอบไม่ใช่จำนวนเต็มจะต้องส่งคืนเป็นเลขทศนิยม กฎ: คุณสามารถรวมอาร์กิวเมนต์ที่ป้อนเข้าสองรายการเข้าเป็นหนึ่งเดียวได้ถ้าหากในภาษาของคุณง่ายขึ้น ไม่จำเป็นต้องเป็นสตริง แต่ต้องมีตัวอักษร คุณไม่สามารถทดแทนการเพิ่มด้วย 1, หารด้วย 2, เป็นต้น คุณสามารถเลือกอินพุตที่เป็นอันดับแรก นิพจน์ได้รับการประเมินจากขวาไปซ้ายจากซ้ายไปขวา (การเปลี่ยนแปลงของกฎโปสเตอร์ที่ส่งใด ๆ ใน 12 ชั่วโมงแรกที่มีวิธีอื่น ๆ ได้รับการยอมรับ) ( ) ^ * / + -การดำเนินงานของใช้สัญลักษณ์นี้: ตัวอย่างเช่นคุณไม่สามารถใช้¤แทน+การเพิ่มได้ …

30
ตัวเลขผสมกับเศษส่วนที่ไม่เหมาะสม
ตัวเลขผสมกับเศษส่วนที่ไม่เหมาะสม ในการท้าทายนี้คุณจะแปลงตัวเลขผสมให้เป็นเศษส่วนที่ไม่เหมาะสม เนื่องจากเศษส่วนที่ไม่เหมาะสมใช้จำนวนน้อยรหัสของคุณจะต้องสั้นที่สุด ตัวอย่าง 4 1/2 9/2 12 2/4 50/4 0 0/2 0/2 11 23/44 507/44 สเปค คุณอาจคิดว่าตัวส่วนของอินพุตจะไม่เป็น 0 อินพุตจะอยู่ในรูปแบบx y/zที่ x, y, z เป็นจำนวนเต็มแบบไม่ติดลบเสมอ คุณไม่จำเป็นต้องทำให้เอาต์พุตง่ายขึ้น นี่คือโค้ดกอล์ฟที่สั้นที่สุดในหน่วยไบต์

13
ได้เวลาปรับราคาแล้ว!
ฉันแน่ใจว่าคุณรู้เกี่ยวกับรูปแบบราคา $ 9.99 แทนที่จะใช้ $ 10 ในงานใหม่ของคุณในฐานะผู้ดูแลระบบ sys ที่ร้านค้าปลีกขนาดใหญ่พวกเขาต้องการให้ราคาเป็นไปตามรูปแบบที่คล้ายกัน: ราคาทั้งหมดเป็นดอลลาร์ทั้งหมดไม่มีเซนต์ ราคาทั้งหมดควรลงท้ายด้วย 5 หรือ 9 โดยปัดเศษให้ใกล้เคียงที่สุด แต่ขึ้นอยู่กับหลักสุดท้ายที่ถูกต้องระหว่าง 5 ถึง 9 (ใช้กับหลักสุดท้าย 2 และ 7) อินพุตต่ำสุดคือ $ 1 และราคาเอาต์พุตต่ำสุดควรเป็น $ 5 ข้อมูลที่คุณป้อนเป็นรายการจำนวนเต็ม: 12 8 41 27 144 99 3 และผลลัพธ์ควรเป็นรายการราคาใหม่ ในกรณีข้างต้น: 15 9 39 29 145 99 5
19 code-golf  number 

19
อำนาจเต็มจำนวน
ตัวเลขบางอย่างเช่น64สามารถแสดงเป็นพลังงานจำนวนเต็มในหลายวิธี: 64 ^ 1 8 ^ 2 4 ^ 3 2 ^ 6 เอาท์พุทอาเรย์ที่เรียงลำดับของอานาจที่เป็นไปได้ทั้งหมด (ที่นี่[1,2,3,6]) ในจำนวนไบต์น้อยที่สุด อินพุต จำนวนเต็มบวกที่มากกว่า 1 และน้อยกว่า 10,000 เอาท์พุต อาร์เรย์ของอำนาจจำนวนทั้งหมดp(รวม1) ซึ่งการป้อนข้อมูลที่สามารถแสดงเป็นที่มีจำนวนทั้งหมดa^p aผลลัพธ์อาจมีทศนิยมถ้าเป็นไปตามลำดับ โปรแกรมจุดใดประเด็นหนึ่งจะต้องได้รับการจัดการ ตัวอย่าง Input: 3 Output: [1] Input: 9 Output: [1, 2] Input: 81 Output: [1, 2, 4] Input: 729 Output: [1, 2, 3, 6] ป้ายบอกคะแนน …
19 code-golf  math  number 

13
เลเยอร์ Sierpinski
เริ่มต้นด้วย/\คุณสามารถสร้างสามเหลี่ยมเช่นเดียวกับรูปแบบSierpinskiโดยการเพิ่มบรรทัดด้านล่างที่ ... กิ่งก้านที่หลวม/หรือ\แยกอีกเป็นสองกิ่ง: /\. การชนกันของกิ่งไม้\/จะตายโดยไม่มีสิ่งใด (ยกเว้นที่ว่าง) ภายใต้กิ่งไม้ ทำซ้ำกฎเหล่านี้ให้ผล /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... ( แรงบันดาลใจจาก ViHart ) เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N และพิมพ์บรรทัด N แรกของรูปแบบนี้ไปยัง stdout โดยไม่มีช่องว่างนำหน้าหรือต่อท้ายเกินกว่าที่จำเป็น ตัวอย่างเช่นถ้าอินพุตเป็น1เอาต์พุตต้องเป็น /\ หากอินพุตเป็น2เอาต์พุตจะต้องเป็น /\ /\/\ หากอินพุตเป็น8เอาต์พุตจะต้องเป็น /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ และอื่น …

11
สุ่มกอล์ฟประจำวัน # 3: ฉากกั้นระหว่างฉาก
เกี่ยวกับซีรี่ส์ ก่อนอื่นคุณอาจปฏิบัติเช่นนี้กับการแข่งขันกอล์ฟอื่น ๆ และตอบคำถามโดยไม่ต้องกังวลเกี่ยวกับซีรี่ส์เลย อย่างไรก็ตามมีลีดเดอร์บอร์ดสำหรับทุกความท้าทาย คุณสามารถค้นหาลีดเดอร์พร้อมกับข้อมูลบางอย่างเพิ่มเติมเกี่ยวกับซีรีส์ในโพสต์แรก แม้ว่าฉันจะมีไอเดียมากมายสำหรับชุด แต่ความท้าทายในอนาคตยังไม่เกิดขึ้น หากคุณมีข้อเสนอแนะใด ๆ โปรดแจ้งให้เราทราบเกี่ยวกับการโพสต์ Sandbox ที่เกี่ยวข้อง Hole 3: Integer Partitions ใช้เวลาในการเพิ่มความยากลำบากเล็กน้อย พาร์ทิชันของจำนวนเต็มบวกnถูกกำหนดให้เป็น MultiSet nของจำนวนเต็มบวกซึ่งรวมไป ตัวอย่างเช่นถ้าn = 5พาร์ติชันต่อไปนี้มีอยู่: {1,1,1,1,1} {2,1,1,1} {2,2,1} {3,1,1} {3,2} {4,1} {5} หมายเหตุว่าเหล่านี้เป็นมัลติจึงมีคำสั่งไม่ให้พวกเขา{3,1,1}, {1,3,1}และ{1,1,3}ได้รับการพิจารณาทั้งหมดเหมือนกัน งานของคุณจะได้รับการสร้างพาร์ทิชันแบบสุ่มของn nนี่คือกฎรายละเอียด: การกระจายตัวของพาร์ทิชันที่ผลิตจะต้องมีเครื่องแบบ นั่นคือในตัวอย่างข้างต้นแต่ละพาร์ติชันควรส่งคืนด้วยความน่าจะเป็น 1/7 แน่นอนเนื่องจากข้อ จำกัด ทางเทคนิคของ PRNGs ความสม่ำเสมอที่สมบูรณ์แบบจะเป็นไปไม่ได้ เพื่อวัตถุประสงค์ในการประเมินความสม่ำเสมอของการส่งของคุณการดำเนินการต่อไปนี้จะถือว่าเป็นการให้การแจกแจงที่สมบูรณ์แบบ: การรับตัวเลขจาก PRNG (มากกว่าช่วงใด ๆ ) ซึ่งได้รับการบันทึกไว้ว่าเป็นชุด …

20
สร้างหมายเลข Ulam
ได้รับจำนวนเต็มn(ที่n < 10001) เป็น input เขียนโปรแกรมที่ออกจะเป็นครั้งแรกที่ตัวเลขลามn หมายเลข Ulam ถูกกำหนดดังนี้: U 1 = 1, U 22 = สำหรับn > 2U nเป็นจำนวนเต็มที่น้อยที่สุดซึ่งมากกว่า U n-1นั่นคือผลรวมของคำสองคำที่แตกต่างกันก่อนหน้านี้ในทางเดียว ตัวอย่างเช่น U 3คือ3(2 + 1), U 4คือ4(3 + 1) (โปรดทราบว่า (2 + 2) ไม่นับเป็นเงื่อนไขที่ไม่ชัดเจน) และ U 5คือ6(U 5ไม่ใช่ 5 เนื่องจาก 5 สามารถแสดงเป็น 2 + 3 หรือ 4 + …

26
แปลงสตริงตัวเลขจากคำเป็นจำนวนเต็ม
แปลงสตริงที่มีตัวเลขเป็นคำเป็นจำนวนเต็มโดยไม่คำนึงถึงศูนย์นำหน้า ตัวอย่าง "four two"42-> "zero zero zero one"1-> สมมติฐาน การส่งสามารถสันนิษฐานได้ว่า: สตริงอินพุตประกอบด้วยคำหลักที่คั่นด้วยช่องว่าง คำทั้งหมดใช้งานได้ (ในช่วง "ศูนย์" .. "เก้า") และตัวพิมพ์เล็ก พฤติกรรมสำหรับการป้อนข้อมูลที่ว่างเปล่าไม่ได้กำหนด สตริงอินพุตจะแทนตัวเลขที่ไม่ได้ลงนามในช่วงintและจะไม่เป็นสตริงว่างเสมอ เกณฑ์การให้คะแนน คำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยลง

30
เด็ด ๆ
ลองนิยามf n (k)เป็นผลรวมของเงื่อนไขkแรกของตัวเลขธรรมชาติ[1, ∞)โดยที่แต่ละตัวเลขซ้ำnครั้ง k | 0 1 2 3 4 5 6 7 8 9 --------+------------------------------------------------- f_1(k) | 0 1 3 6 10 15 21 28 36 45 deltas | +1 +2 +3 +4 +5 +6 +7 +8 +9 --------+------------------------------------------------- f_2(k) | 0 1 2 4 6 9 12 …

22
เพื่อการเจริญเติบโตของเลขชี้กำลังแทนเลขนัย
ท้าทาย รับฐาน1&lt;b&lt;101&lt;b&lt;101 < b < 10และดัชนีt≥1t≥1t \ge 1 , คำที่ส่งออกxtxtx_t , กำหนดดังนี้: x1=1110x1=1110x_1 = 11_{10} xi+1xi+1x_{i+1}ได้มาจากการแปลงxixix_iเป็นฐานbbbจากนั้นแปลค่าตัวเลขอีกครั้งในฐาน101010 ผลลัพธ์ควรอยู่ในฐาน101010 เดินผ่านสำหรับฐาน 5 คำ 5 จะเป็น: x1=1110x1=1110x_1 = 11_{10} 10 1110=2151110=21511_{10} = 21_{5}ดังนั้นx2=2110x2=2110x_2 = 21_{10} 10 2110=4152110=41521_{10} = 41_{5}ดังนั้นx3=4110x3=4110x_3 = 41_{10} 10 4110=13154110=131541_{10} = 131_{5}ดังนั้นx4=13110x4=13110x_4 = 131_{10} 10 13110=1011513110=10115131_{10} = 1011_{5}ดังนั้นx5=101110x5=101110x_5 = 1011_{10} 10 …
18 code-golf  number 

15
ตัวหารและตัวเลขแย่
บทนำ ในโลกที่แปลกประหลาดของตัวเลขจำนวนเต็มตัวหารเป็นเหมือนสินทรัพย์และพวกเขาใช้เรียกว่า "รวย" ตัวเลขที่มีตัวหารมากกว่าการกลับรายการในขณะที่พวกเขาเรียกว่า "ไม่ดี" คนที่มีตัวหารน้อยกว่าการกลับรายการ ยกตัวอย่างเช่นหมายเลข240124012401มีห้าตัวหาร: 1,7,49,343,24011,7,49,343,24011,7,49,343,2401 , ในขณะที่การพลิกกลับของ104210421042มีเพียงสี่: 1,2,521,10421,2,521,10421,2,521,1042 1042 ดังนั้น240124012401เรียกว่าอุดมไปด้วยจำนวนขณะที่104210421042ยากจนจำนวน ตามคำจำกัดความนี้เราสามารถสร้างสองจำนวนเต็มดังนี้ (here we list the first 25 elements of the sequences) Index | Poor | Rich -------|------|------- 1 | 19 | 10 2 | 21 | 12 3 | 23 | 14 4 | 25 | 16 …

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