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

สำหรับความท้าทายที่เกี่ยวข้องกับตัวดำเนินการทางคณิตศาสตร์ของการหารหรือการหารจำนวนเต็ม

12
Divinacci Sequence
Divinacci ( OEIS ) ดำเนินการลำดับฟีโบนักชี แต่แทนที่จะใช้: f(n) = f(n-1)+f(n-2) ใช้: f(n) = sum(divisors(f(n-1))) + sum(divisors(f(n-2))) สำหรับอินพุทของnเอาท์พุทคำที่ n โปรแกรมของคุณควรมีเพียง 1 อินพุท 14 คำแรก (0 ดัชนีคุณอาจ 1 ดัชนี; สถานะที่คุณใช้): 0 | 0 # Initial | [] 1 | 1 # Initial | [1] => 1 2 | 1 # [] + [1] …

30
palindrome ที่เล็กที่สุดหารด้วยอินพุต
ป.ร. ให้ไว้เป็นจำนวนเต็มบวกNเอาท์พุทจำนวนเต็มบวกที่เล็กที่สุดเช่นว่าจำนวนนี้เป็น palindrome (คือเป็นสิ่งที่ตรงกันข้ามของตัวเอง) Nและหารด้วย palindrome (เช่นการส่งออก) จะต้องไม่จำเป็นต้องมีศูนย์นำจะเป็นประโยคเช่นไม่ได้เป็นคำตอบที่ถูกต้องสำหรับ08016 อินพุตจะไม่เป็นทวีคูณของ 10 เนื่องจากเหตุผลก่อนหน้า โปรแกรมของคุณอาจใช้เวลานานเท่าที่จำเป็นแม้ว่าในทางปฏิบัติมันจะใช้เวลานานเกินกว่าจะตอบคำถามได้ อินพุตและเอาต์พุต คุณสามารถรับอินพุตSTDINเป็นอาร์กิวเมนต์ของฟังก์ชันหรืออะไรก็ได้ที่คล้ายกัน คุณอาจพิมพ์ผลลัพธ์ไปที่STDOUTส่งคืนจากฟังก์ชันหรือสิ่งอื่นที่คล้ายคลึงกัน อินพุตและเอาต์พุตต้องอยู่ในฐานเลขฐานสิบ กรณีทดสอบ N Output 1 1 2 2 16 272 17 272 42 252 111 111 302 87278 1234 28382 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ

15
โค่นล้มโดมิโน!
ขอบคุณคำถามนี้สำหรับแรงบันดาลใจบางอย่าง ในความท้าทายนี้เราจะเป็นตัวแทนของสายของแต้มเป็นสตริงของที่|, และ/ \คุณจะได้รับสายอักขระโดมิโนเป็นอินพุตและคุณต้องพิจารณาสิ่งที่พวกเขาดูเหมือนเมื่อพวกเขาได้ตัดสิน นี่คือกฎสำหรับแต้มที่ตกลงมา โดมิโนที่ยืนอยู่|, ซ้ายของโดมิโนที่ล้มลงทางซ้าย\, จะกลายเป็นโดมิโนที่ล้มลงด้วยเช่นกัน โดมิโนที่ยืนอยู่|ด้านขวาของโดมิโนที่ถูกตก/จะกลายเป็นโดมิโนที่ตกลงมาอย่างถูกต้องเช่นกัน หากโดมิโนยืนอยู่ระหว่างซ้าย\และขวาตก/โดมิโนมันจะยังคงยืนอยู่ กฎเหล่านี้จะถูกนำมาใช้ซ้ำ ๆ จนกระทั่งข้อตกลงไม่เปลี่ยนแปลงอีกต่อไป นี่คือตัวอย่างของวิธีการป้อนข้อมูลเดียวอาจมาถึงข้อสรุปของมัน |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| งานของคุณคือการเขียนโค้ดที่ค้นหาและแสดงผลลัพธ์สุดท้ายของอินพุต คุณอาจสมมติว่าอินพุตนั้นถูกต้องเสมอและมีอย่างน้อย 2 ตัวอักษร นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า กรณีทดสอบ |||/|||| -> |||///// |||\|||| -> \\\\|||| |/||||\| -> |///\\\| ||/|||\| -> ||//|\\| ||\|||/| -> \\\|||//

30
ผลิตภัณฑ์ของตัวหาร
ท้าทาย รับจำนวนเต็มบวกคืนผลคูณของตัวหารรวมถึงตัวมันเอง นี่คือA007955 ลำดับใน OEIS กรณีทดสอบ 1: 1 2: 2 3: 3 4: 8 5: 5 6: 36 7: 7 8: 64 9: 27 10: 100 12: 1728 14: 196 24: 331776 25: 125 28: 21952 30: 810000 เกณฑ์การให้คะแนน นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในแต่ละภาษาจะชนะ!

30
ค้นหาผลรวมของตัวหารของ N
เขียนโปรแกรมที่แสดงบนหน้าจอผลรวมของตัวหารของตัวเลข (1 ≤ N entered 100) ที่ป้อนโดยผู้ใช้ในช่วง 1 ถึง N นี่คือOEIS A000203 ตัวอย่าง: อินพุต : 7 7 / 1 = 7 7 / 7 = 1 7 + 1 = 8 ผลลัพธ์: 8 อินพุต: 15 15 / 1 = 15 15 / 3 = 5 15 / 5 = 3 …

21
พับจำนวนเต็มเพื่อประหยัดพื้นที่!
นักคณิตศาสตร์บ้าเป็นเจ้าของตัวเลขจำนวนมากและพื้นที่ที่เขาทิ้งมี จำกัด เพื่อช่วยให้บางเขาต้องพับจำนวนเต็ม แต่น่าเสียดายที่เขาขี้เกียจจริงๆ งานของคุณหากคุณต้องการช่วยเขาคือการสร้างฟังก์ชั่น / โปรแกรมที่พับจำนวนเต็มบวกที่กำหนดสำหรับความบ้าคลั่งจำนวนของเรา วิธีการพับจำนวนเต็ม? หากมันหารอย่างสม่ำเสมอด้วยผลรวมของตัวเลขให้หารด้วยผลรวมของตัวเลข หากไม่เป็นไปตามข้อกำหนดดังกล่าวให้นำส่วนที่เหลือมาหารด้วยผลรวมของตัวเลข 1ทำซ้ำขั้นตอนจนกว่าจะถึงผลที่ตามมา จำนวนเต็มที่ถูกพับคือจำนวนของการดำเนินการที่คุณต้องดำเนินการ ลองยกตัวอย่าง (พูด1782): 1 + 7 + 8 + 2 = 18ได้รับผลรวมของตัวเลขของ: 1782หารเท่า ๆ กันโดยดังนั้นจำนวนต่อไปคือ181782 / 18 = 99 99ไม่หารเท่า ๆ กันโดยเหตุนี้เราใช้เวลาที่เหลือ:9 + 9 = 1899 % 18 = 9 9หารอย่างเห็นได้ชัดโดยเราจึงแบ่งมันและได้รับ91 ผลลัพธ์คือ3เนื่องจากต้องการการดำเนินการ 3 ครั้งเพื่อให้สามารถเข้าถึง1ได้ กฎและข้อกำหนด จำนวนเต็มบางคนอาจจะมีผลรวมของตัวเลขเท่ากับ1เช่นหรือ10 100โปรแกรมของคุณไม่จำเป็นต้องจัดการกับกรณีดังกล่าว ซึ่งหมายความว่าคุณจะรับประกันได้ว่าจำนวนเต็มที่ได้รับเป็นอินพุตไม่มีผลรวมของตัวเลขเท่ากับ1และไม่มีการดำเนินการกับจำนวนเต็มที่กำหนดจะส่งผลให้ตัวเลขที่มีผลรวมของตัวเลข1(ยกเว้น1ตัวมันเองซึ่งก็คือ " …

30
ตัวแบ่งที่เหมาะสมผสม
หารที่เหมาะสมเป็นตัวหารของจำนวนnซึ่งไม่ได้เป็นnตัวเอง ตัวอย่างเช่นตัวหารที่เหมาะสมของ 12 คือ 1, 2, 3, 4 และ 6 คุณจะได้รับจำนวนเต็ม x , x ≥ 2 x ≤ 1000 งานของคุณคือการรวมตัวหารที่เหมาะสมที่สุดทั้งหมดของจำนวนเต็มจาก2ถึงx (รวม) (OEIS A280050 ) ตัวอย่าง (พร้อมx = 6): ค้นหาจำนวนเต็มทั้งหมดระหว่าง 2 ถึง 6 (รวม): 2,3,4,5,6 รับตัวหารที่เหมาะสมของพวกเขาทั้งหมดและเลือกตัวที่สูงที่สุดจากแต่ละหมายเลข: 2 -> 1 3 -> 1 4 -> 1, 2 5 -> 1 6 -> …

12
ผลรวมของปัจจัยสำคัญที่เล็กที่สุด
SF (n) เป็นฟังก์ชั่นซึ่งคำนวณหาค่าตัวประกอบนายกที่เล็กที่สุดของตัวเลขที่กำหนด เราจะเรียก T (N) ผลรวมของทุก SF (n) ด้วย 2 <= n <= N T (1) = 0 (ผลรวมมากกว่า 0 สรุป) T (2) = 2 (2 เป็นนายกคนแรก) T (3) = 5 = 2 + 3 T (4) = 7 = 2 + 3 + 2 T (5) = 12 …

19
ความแตกต่างของ MaxMin Divisor Pairs (DMDP)
พูดคุยเกี่ยวกับตัวหาร ... ออกจากสี่เหลี่ยมที่สมบูรณ์แบบ (สักครู่) จำนวนเต็มบวกทั้งหมดสามารถแสดงเป็นผลคูณของตัวหาร 2 ตัวอย่างด่วนสำหรับ126: นี่คือตัวหารทั้งหมดของ126 ในขณะที่คุณสามารถเห็นตัวหารทั้งหมดสามารถจับคู่ได้ นี่คือสิ่งที่เราจะเรียกว่าDivisor Pairs : [1, 126], [2, 63], [3, 42], [6, 21], [7, 18], [9, 14] สำหรับความท้าทายนี้เราจะต้องมีเพียงคู่สุดท้ายของรายการนี้ (ซึ่งเป็นคู่ศูนย์ของภาพ): [9,14]เราจะเรียกคู่นี้MaxMin หารคู่ ความแตกต่างของ MaxMin Divisor Pair (DMDP)คือความแตกต่างของสององค์ประกอบของคู่ซึ่งเป็น[9,14]=5 อีกตัวอย่าง544หนึ่ง ตัวหารคือ: [1, 2, 4, 8, 16, 17, 32 , 34, 68, 136, 272, 544] และDMDP (544) …

14
ผลรวมของเชน
ลำดับ: 1เราเริ่มต้นที่ ก่อนอื่นเราจะเพิ่มค่า 1 ดัชนีปัจจุบันไปยังหมายเลขก่อนหน้าในลำดับ จากนั้นเราจะใช้การดำเนินการทางคณิตศาสตร์ต่อไปนี้ตามลำดับหากนำไปใช้กับค่าปัจจุบันนี้: หารด้วย2? => นอกจากนี้ หารด้วย 3 ? => การลบ หารด้วย4? => (เพิ่มเติมและ) ทวีคูณ ไม่หารด้วยค่า2, 3หรือ4? -> ดำเนินการกับผลรวมปัจจุบัน เอาท์พุท: เอาท์พุท 100 หมายเลขแรกในลำดับนี้: 1, 1, 21, 25, 30, 216, 223, 223, 2169, 2179, 2190, 2202, 2215, 2215, 2245, 2261, 2295, 2295, 2333, 2353, 2395, 2417, 56649, 56649, …

4
เห็นภาพการหารยาวด้วยศิลปะ ASCII
เขียนโปรแกรมที่แสดงภาพส่วนที่ยาวด้วย ASCII art อินพุตประกอบด้วยจำนวนเต็มสองจำนวนตัวเศษและส่วนโดยใช้รูปแบบอินพุตที่คุณเลือก ตัวอย่าง: 1234 ÷ 56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012 ÷ 12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0 ÷ 35 0 - 35|0 กฎ: การใช้งานของผู้ประกอบการส่วนการเขียนโปรแกรมภาษาที่จะได้รับอนุญาต อนุญาตให้ใช้จำนวนเต็มขนาดใหญ่ได้ เพื่อความมั่นคง: หากความฉลาดเป็นศูนย์ให้พิมพ์ศูนย์เดียวที่ท้ายกระดานดำน้ำ หากส่วนที่เหลือเป็นศูนย์อย่าพิมพ์ อย่าพิมพ์เลขศูนย์นำหน้าบนตัวเลขใด ๆ ขึ้นบรรทัดใหม่มากเกินไปที่ส่วนท้ายและช่องว่างต่อท้ายไปทางขวาจะได้รับอนุญาต การแก้ปัญหาด้วยตัวละครน้อยที่สุดชนะ …

22
การหารของตัวเลขไม่น้อย
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในจำนวนเต็มบวกa, bและc, และพิมพ์หรือผลตอบแทนa/bเพื่อcตำแหน่งทศนิยมโดยใช้การดำเนินงาน + - * /% [บวกลบคูณหารปรับ] ในจำนวนเต็มบวก: คุณสามารถใช้ทุกสิ่งที่ ภาษาของคุณอนุญาต แต่ไม่สามารถใช้กับเลขทศนิยมได้ ช่วง a, b, c จะเป็นช่วงที่อนุญาตสำหรับจำนวนเต็มที่ไม่ได้ลงนามในภาษาของคุณ ผลลัพธ์หมายเลขจะถูกปัดเศษเป็นหลักสุดท้ายเพื่อพิมพ์ (ไม่ใช่round) ซึ่งหมายความว่าหากภาษาของคุณไม่มีประเภทจำนวนเต็ม (ลอยเท่านั้น) คุณสามารถเข้าร่วมโดยใช้หมายเลขทศนิยมเหล่านี้เป็นจำนวนเต็มบวกเท่านั้น ปมของการออกกำลังกายนี้มันจะเป็นการเขียนฟังก์ชั่นที่ค้นหาตัวเลขในส่วนจุดลอยโดยใช้เพียงการดำเนินงาน + - * /% ในจำนวนเต็ม [ไม่ได้ลงนาม] ตัวอย่าง print(1,2,1) จะพิมพ์ 0.5 print(1,2,2) จะพิมพ์ 0.50 print(13,7,27) จะพิมพ์ 1.857142857142857142857142857 print(2,3,1) จะพิมพ์ 0.6 print(4,5,7) จะพิมพ์ 0.8000000 print(4,5,1) จะพิมพ์ 0.8 print(9999,23,1) จะพิมพ์ …

4
คำนวณ A (N) / B (N) ด้วยตัวเลข C (N)
พิจารณาสามลำดับหมายเลขA, BและC: A: ลำดับบนพื้นฐานของความสัมพันธ์ที่เกิดขึ้นอีก, เริ่มต้นด้วยf(n) = f(n-1)+f(n-2) f(1) = 3, f(2) = 4ดังนั้นลำดับเริ่มต้นดังนี้:3 4 7 11 18 29 47 76 ... B: ตัวเลขรวมที่เป็นจำนวนเต็มทั้งหมดที่ไม่ใช่เฉพาะ (หรือ 1):4 6 8 9 10 12 14 15 16 ... C: ตัวเลขของ Pi: 3 1 4 1 5 9 2 6 5 ... รับจำนวนเต็มบวกN < 50ไม่ว่าจะเป็นอาร์กิวเมนต์ของฟังก์ชันหรือ …

9
ใช้การแบ่งความแม่นยำโดยพลการ
ใช้ฟังก์ชั่นdivide(int a, int b, int c)ที่พิมพ์ค่าฐาน 10 a/bเป็น โดยไม่ต้องใช้ใด ๆ ทางคณิตศาสตร์จุดลอยมิได้BigInteger/ BigDecimalหรือเทียบเท่าห้องสมุดใด ๆ อย่างน้อยcอักขระที่แม่นยำภายในชุด0123456789.ต้องพิมพ์ยกเว้นข้อยกเว้น (เป็นไปได้) ในจุดที่ 4 ด้านล่าง aและbอาจเป็นจำนวนเต็ม 32 บิต อัปเดต:หากเพื่อวัตถุประสงค์ในการเล่นกอล์ฟคุณต้องการให้อินพุตเป็นแบบดั้งเดิม 64 บิตที่ใช้ได้ แต่คุณไม่จำเป็นต้องสนับสนุนช่วงข้อมูล 64 บิตทั้งหมด คุณไม่จำเป็นต้องตรวจสอบว่าcเป็นไปในเชิงบวก (แต่หวังว่าโปรแกรมของคุณจะไม่เกิดปัญหา) หากไม่ใช่ ขั้นต่ำในการสนับสนุนที่ถูกผูกไว้บนสำหรับมีc 500มันก็โอเคถ้าโปรแกรมของคุณไม่รองรับค่าcข้างต้น500แต่มันก็โอเคถ้ามันทำ สำหรับตัวเลขที่แบ่งเท่า ๆ กันมันเป็นทางเลือกของคุณว่าจะพิมพ์เลขศูนย์พิเศษ (ตามค่าc) หรือไม่มีอะไร คุณไม่จำเป็นต้องใช้ฟังก์ชั่นเพื่อทำงานเพิ่มเติมใด ๆ กับความฉลาดทางเป้าหมายเดียวคือการพิมพ์ สำหรับตัวเลขระหว่าง-1และมันเป็นสิ่งที่คุณเลือกว่าจะพิมพ์ชั้นนำ1 0อย่างไรก็ตามนี่เป็นสถานการณ์จำลองเดียวที่ยอมรับการพิมพ์ศูนย์นำหน้าและคุณสามารถพิมพ์หนึ่งในศูนย์ดังกล่าวได้ คุณสามารถใช้ตรรกะการปัดเศษ / พื้น / เพดานที่คุณต้องการสำหรับทศนิยมตำแหน่งสุดท้าย -สำหรับคำตอบเชิงลบคุณจะต้องพิมพ์ชั้นนำ cนี้ไม่นับรวม แต่ก็เป็นทางเลือกของคุณถ้าคุณต้องการพิมพ์, …

30
ใช้งานการแบ่ง
ใช้อัลกอริทึมการหารในภาษาที่คุณชื่นชอบซึ่งจัดการการหารจำนวนเต็ม มันต้องการเพียงจัดการกับจำนวนบวก - แต่คะแนนโบนัสถ้ามันจัดการส่วนลบและผสมสัญญาณด้วย ผลลัพธ์จะถูกปัดเศษลงเพื่อผลลัพธ์ที่เป็นเศษส่วน โปรแกรมอาจไม่ได้มี/, \, divหรือผู้ประกอบการที่คล้ายกัน ต้องเป็นกิจวัตรที่ไม่ได้ใช้ความสามารถในการแบ่งส่วนของภาษา คุณจะต้องจัดการได้มากถึง 32 บิต ไม่อนุญาตให้ใช้การลบซ้ำ ๆ อินพุต ใช้สองอินพุตใน stdin คั่นด้วยบรรทัดหรือช่องว่างใหม่ (ตัวเลือกของคุณ) 740 2 เอาท์พุต 370ในกรณีนี้การส่งออกจะเป็น ทางออกที่สั้นที่สุดชนะ

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