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

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

30
ซ้ำแล้วซ้ำอีก! factorials!
เพื่อไม่ให้สับสนกับค้นหาปัจจัย! บทนำ แฟคทอเรียลของจำนวนเต็มnสามารถคำนวณได้โดย n ! = n × ( n - 1 ) × ( n - 2 ) × ( . . . ) × 2 × 1n!=n×(n−1)×(n−2)×(...)×2×1n!=n\times(n-1)\times(n-2)\times(...)\times2\times1 มันค่อนข้างง่ายและไม่มีอะไรใหม่ อย่างไรก็ตามแฟกทอเรียลสามารถขยายเป็นแฟคทอเรียลสองเท่าเช่น สำหรับเลขคู่และ สำหรับเลขคี่ แต่เราไม่ จำกัด เพียงแฟคทอเรียลสองเท่า ตัวอย่างเช่น หรือ หรือ ขึ้นอยู่กับ ค่าเริ่มต้นn ! ! = n × ( n - 2 …

30
ขึ้นและลงขึ้นและลง
ท้าทาย: รับอินพุตจำนวนเต็มบวกnสร้างเวกเตอร์ที่ตามหลังรูปแบบนี้: 0 1 0 -1 -2 -1 0 1 2 3 2 1 0 -1 -2 -3 -4 -3 -2 -1 ... ±(n-1) ±n หรืออธิบายด้วยคำว่า: เวกเตอร์เริ่มต้นที่0และทำให้เพิ่มขึ้น1จนกว่าจะถึงจำนวนเต็มบวกคี่ที่เล็กที่สุดที่ไม่ได้เป็นส่วนหนึ่งของลำดับแล้วมันจะทำให้ลดลงจนกว่าจะถึงที่เล็กที่สุด (ในขนาด) แม้จำนวนลบ เป็นส่วนหนึ่งของลำดับ มันจะดำเนินต่อไปในลักษณะนี้จนกว่าnจะถึง ลำดับจะสิ้นสุดในเชิงบวกnหากnเป็นเลขคี่และลบnหากnเป็นเลขคู่ รูปแบบผลลัพธ์มีความยืดหยุ่น กรณีทดสอบ: n = 1 0 1 ----------- n = 2 0 1 0 -1 -2 ----------- n …

30
เลิกทำการช่วงของตัวเลข
มันค่อนข้างง่ายที่จะได้รับจำนวนnสร้างช่วงจากไป0 n-1ในความเป็นจริงหลายภาษาให้การดำเนินการนี้เป็นแบบ builtin โปรแกรม CJam ต่อไปนี้อ่านจำนวนเต็มแล้วพิมพ์ช่วงดังกล่าวออกมา ( ลองออนไลน์! ): ri, โปรดสังเกตว่ามันพิมพ์ตัวเลขโดยไม่มีตัวคั่น ความท้าทาย งานของคุณคือการย้อนกระบวนการนี้ คุณควรเขียนโปรแกรมที่ให้สตริงที่เป็นตัวแทนของช่วงส่งกลับจำนวนที่ใช้ในการผลิตช่วงนั้น ข้อมูลจำเพาะ ตัวเลขจะถูกกำหนดโดยไม่มีตัวคั่นใด ๆ คุณอาจจะถือว่าสตริงเป็นช่วงที่ถูกต้อง คุณอาจใช้การจัดทำดัชนี 0- หรือ 1 ตามช่วงของคุณ คุณอาจคิดว่าเอาต์พุตที่ถูกต้องจะไม่เกิน 32,767 (ดังนั้นอินพุตที่ถูกต้องจะไม่มีความยาวมากกว่า 152,725) คุณอาจคิดว่าผลลัพธ์ที่ถูกต้องจะเป็นค่าบวกเสมอ (ดังนั้นคุณไม่ต้องจัดการกับ 0 หรือลบ) นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดของการแข่งขัน (วัดเป็นไบต์) ชนะ กรณีทดสอบ 0 การจัดทำดัชนี: 0123 -> 4 0 -> 1 0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 101 1 การจัดทำดัชนี: 1234 -> …

30
แทรกตัวเลขจาก 1 ถึง n โดยมีหมายเลขเดียวกันกลับด้าน
ง่าย ๆ : ใช้เป็นจำนวนเต็มบวกnน้อยกว่า 1,000 และเอาท์พุทจำนวนเต็มจาก1ไปnบรรณนิทัศน์กับจำนวนเต็มจากnไป1 คุณต้องต่อหมายเลขเพื่อให้ปรากฏโดยไม่มีตัวคั่นระหว่างใด ๆ กรณีทดสอบ: n = 1 11 n = 4 14233241 n = 26 12622532442352262172081991810171116121513141413151216111710189198207216225234243252261 n = 100 110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001 นี่คือโค้ดกอล์ฟเพื่อการส่งที่สั้นที่สุดเป็นไบต์ในแต่ละภาษาจะชนะ คำอธิบายได้รับการสนับสนุน


14
สร้างหมายเลข n-ary
ตัวเลขรองเป็นจำนวนเต็มบวกซึ่งปัจจัยหลัก (ไม่มีหลายหลาก) น้อยกว่าหรือเท่ากับรากที่สองของมัน 4เป็นตัวเลขรองเพราะมีเพียงปัจจัยสำคัญเท่านั้น2ซึ่งเท่ากับรากที่สองของมัน อย่างไรก็ตาม15ไม่ใช่ตัวเลขรองเพราะมัน5เป็นปัจจัยสำคัญซึ่งมีขนาดใหญ่กว่าสแควร์รูท ( ~ 3.9) เนื่องจากจำนวนเฉพาะทั้งหมดมีตัวเองเป็นปัจจัยสำคัญจึงไม่มีหมายเลขเฉพาะเป็นหมายเลขรอง ตัวเลขรองสองสามตัวแรกมีดังนี้: 1, 4, 8, 9, 12, 16, 18, 24, 25, 27, 30, 32, 36, 40, 45, 48, 49, 50, 54, 56 หมายเลขตติยภูมิถูกกำหนดในทำนองเดียวกันยกเว้นปัจจัยสำคัญทั้งหมดจะต้องน้อยกว่าหรือเท่ากับรูทคิวบ์ ตัวเลขระดับอุดมศึกษาสองสามคนแรกมีดังนี้: 1, 8, 16, 27, 32, 36, 48, 54, 64, 72, 81, 96, 108, 125, 128, 135, 144, 150, …

5
ความแตกต่างทางประวัติศาสตร์ระหว่าง `/` และ `÷ 'ในนิพจน์ทางคณิตศาสตร์
บทนำ: แรงบันดาลใจจากการอภิปรายที่มีอยู่แล้วที่เกิดขึ้นมานานหลายปีเกี่ยวกับการแสดงออก2)6 ÷ 2 ( 1 + 2 )6÷2(1+2)6÷2(1+2) ด้วยการแสดงออกที่คณิตศาสตร์ได้อย่างรวดเร็วจะเห็นว่าคำตอบที่ถูกต้องคือในขณะที่คนที่มีพื้นหลังเป็นคณิตศาสตร์ที่เรียบง่ายจากโรงเรียนอย่างรวดเร็วจะเห็นว่าคำตอบที่ถูกต้องคือ9ดังนั้นข้อโต้แย้งนี้และคำตอบที่ต่างกันมาจากไหน? มีสองกฎระเบียบที่ขัดแย้งกันในวิธีการที่เป็นลายลักษณ์อักษร หนึ่งเนื่องจากเป็นส่วนหนึ่งและเป็นหนึ่งเนื่องจากสัญลักษณ์การหาร6 ÷ 2 ( 1 + 2 )6÷2(1+2)6÷2(1+2)1119996 ÷ 2 ( 1 + 2 )6÷2(1+2)6÷2(1+2)2(÷ แม้ว่าทั้งนักคณิตศาสตร์และ 'คนธรรมดา' จะใช้PEMDAS (วงเล็บ - เลขชี้กำลัง - การหาร / การคูณ - การบวก / การลบ) สำหรับนักคณิตศาสตร์การแสดงออกจะได้รับการประเมินเช่นนี้ด้านล่างเพราะเป็นตัวอย่างเช่น monomial อาคา " คำเดียวเนื่องจากการคูณโดยนัยโดยการตีข่าว " (และดังนั้นส่วนหนึ่งของใน) ซึ่งจะได้รับการประเมินที่แตกต่างจาก (ทวินามอาคาสองคำ):2 ( …

30
ครึ่งครึ่งครึ่งและครึ่ง
พิจารณาลำดับหมายเลขต่อไปนี้: 0 ,12,14,34,18,38,58,78,116,316,516,716,916,1116,1316,1516,132,332,532, ...0,12,14,34,18,38,58,78,116,316,516,716,916,1116,1316,1516,132,332,532,... 0, \frac{1}{2}, \frac{1}{4}, \frac{3}{4}, \frac{1}{8}, \frac{3}{8}, \frac{5}{8}, \frac{7}{8}, \frac{1}{16}, \frac{3}{16}, \frac{5}{16}, \frac{7}{16}, \frac{9}{16}, \frac{11}{16}, \frac{13}{16}, \frac{15}{16}, \frac{1}{32}, \frac{3}{32}, \frac{5}{32}, \dots มันระบุเศษส่วนไบนารีทั้งหมดในช่วงเวลาที่หน่วย1)[ 0 , 1 )[0,1) [0, 1) (เพื่อให้การท้าทายนี้ง่ายขึ้นองค์ประกอบแรกเป็นทางเลือก: คุณอาจข้ามไปและพิจารณาลำดับที่เริ่มต้นด้วย 1/2) งาน เขียนโปรแกรม (โปรแกรมสมบูรณ์หรือฟังก์ชั่น) ซึ่ง ... เลือกหนึ่งในพฤติกรรมเหล่านี้: อินพุต n, องค์ประกอบที่ n เอาท์พุทของลำดับ (ดัชนี 0 หรือดัชนี 1) อินพุต …

8
สามารถสร้างวงต้นไม้แบบสี่เหลี่ยมจากช่วงเวลาได้หรือไม่?
เห็นได้ชัดว่าใช่! ในสามขั้นตอนง่าย ๆ ขั้นตอนที่ 1 ให้f ( n ) แสดงถึงฟังก์ชั่นการนับจำนวนเฉพาะ (จำนวนของจำนวนเฉพาะน้อยกว่าหรือเท่ากับn ) กำหนดลำดับ จำนวนเต็มs ( n ) ดังต่อไปนี้ สำหรับแต่ละจำนวนเต็มบวกn , Initiallize เสื้อเพื่อn ตราบใดที่tไม่ใช่ไพร์มหรือ 1 ให้แทนที่tด้วยf ( t ) และวนซ้ำ จำนวนการวนซ้ำคือs ( n ) กระบวนการซ้ำรับประกันได้ว่าจะสิ้นสุดเพราะฉ ( n ) < nสำหรับทุกn ลองพิจารณาตัวอย่างn = 25 เรา initiallize T = 25 ตั้งแต่นี้ไม่ได้เป็นนายกมิได้ 1 เราคำนวณฉ …

30
ค้นหาจำนวนเต็มบวกที่เล็กที่สุดซึ่งลงท้ายด้วย n หารด้วย n และมีตัวเลขรวมเป็น n
มันอยู่ในชื่อ ... รับข้อมูลเป็นจำนวนเต็มบวกn>=12และ ... ทำในสิ่งที่ชื่อกล่าว ใช่นี้อยู่ใน OEIS A187924 บางกรณีทดสอบ 12 -> 912 13 -> 11713 14 -> 6314 15 -> 915 16 -> 3616 17 -> 15317 18 -> 918 19 -> 17119 20 -> 9920 40 -> 1999840 100-> 99999999999100 นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดเป็นไบต์ชนะ!

30
ลดจำนวนตามหลักที่ใหญ่ที่สุด
งาน: ระบุตัวเลขจำนวนเต็มในระบบเลขฐานสิบให้ลดลงเป็นทศนิยมหนึ่งหลักดังนี้: แปลงตัวเลขเป็นรายการเลขทศนิยม ค้นหาตัวเลขที่ใหญ่ที่สุด D ลบ D ออกจากรายการ หากมีเหตุการณ์ D มากกว่าหนึ่งรายการให้เลือกรายการแรกจากด้านซ้าย (ที่ตำแหน่งที่สำคัญที่สุด) รายการอื่น ๆ ทั้งหมดควรยังคงเหมือนเดิม แปลงรายการผลลัพธ์เป็นตัวเลขทศนิยมและคูณด้วย D หากตัวเลขมากกว่า 9 (มีทศนิยมมากกว่า 1 หลัก) ให้ทำซ้ำขั้นตอนทั้งหมดแล้วป้อนผลลัพธ์เข้าไป หยุดเมื่อคุณได้รับผลลัพธ์ตัวเลขเดียว แสดงผล ตัวอย่าง: 26364 -> 1. 2 6 3 6 4 2. The largest digit is 6, so D=6 3. There are two occurrences or 6: at …

30
บาร์โค้ดของฉันถูกต้องหรือไม่?
EAN-8บาร์โค้ดรวมถึง 7 หลักของข้อมูลและการตรวจสอบหลักที่ 8 การตรวจสอบจะคำนวณโดยการคูณตัวเลขด้วย 3 และ 1 สลับกันเพิ่มผลลัพธ์และลบออกจากผลคูณถัดไปของ 10 ตัวอย่างเช่นกำหนดตัวเลข2103498: Digit: 2 1 0 3 4 9 8 Multiplier: 3 1 3 1 3 1 3 Result: 6 1 0 3 12 9 24 ผลรวมของตัวเลขที่ได้คือ55ดังนั้นหลักของการตรวจสอบคือ60 - 55 = 5 ความท้าทาย งานของคุณคือกำหนดบาร์โค้ด 8 หลักให้ตรวจสอบว่ามันถูกต้องหรือไม่ - คืนค่าความจริงหากการตรวจสอบถูกต้องและเป็นเท็จ คุณสามารถป้อนข้อมูลในแบบฟอร์มใด ๆ ต่อไปนี้: สตริงที่มีความยาว …

30
ค้นหาตัวเลขที่ไม่ซ้ำกันสูงสุด
น่าแปลกที่เรายังไม่มีการท้าทาย "ค้นหาตัวเลขที่สูงที่สุด" ง่าย ๆ แต่ฉันคิดว่านั่นเป็นเรื่องเล็กน้อยเกินไป รับอินพุตของจำนวนเต็มแบบไม่ลบให้คืนค่าหลักที่ไม่ซ้ำกันสูงสุด(เช่นไม่ซ้ำ) ที่พบในจำนวนเต็ม หากไม่มีตัวเลขที่ไม่ซ้ำกันโปรแกรมของคุณสามารถทำอะไรก็ได้ (พฤติกรรมที่ไม่ได้กำหนด) อินพุตสามารถนำมาเป็นจำนวนเต็มเดียวสตริงหรือรายการตัวเลข กรณีทดสอบ 12 -> 2 0 -> 0 485902 -> 9 495902 -> 5 999999 -> Anything 999099 -> 0 1948710498 -> 7 นี่คือโค้ดกอล์ฟที่มีจำนวนน้อยที่สุดในแต่ละภาษาที่ชนะ!

30
ลองลดความน่าเบื่อ
... แต่เดี๋ยวก่อนไม่จำเป็นต้องเข้มงวด รับอาร์เรย์ที่ไม่ว่างเปล่าของจำนวนเต็มบวกอย่างเคร่งครัดตรวจสอบว่าเป็น: Monotone อย่างเคร่งครัดลดลง ซึ่งหมายความว่าแต่ละรายการจะน้อยกว่ารายการก่อนหน้าอย่างเคร่งครัด Monotone ที่ไม่เพิ่มขึ้น แต่ไม่ได้ลดลงอย่างเคร่งครัด ซึ่งหมายความว่าแต่ละรายการมีค่าน้อยกว่าหรือเท่ากับก่อนหน้านี้และอาร์เรย์ไม่ได้อยู่ในหมวดหมู่ข้างต้น ไม่มีการข้างต้น หมายเหตุกรณีมุมต่อไปนี้: อาเรย์ที่มีหมายเลขเดียวคือโมโนโทนลดลงอย่างเคร่งครัด อาเรย์ที่มีหมายเลขเดิมซ้ำกันนั้นไม่ได้เพิ่มขึ้นอย่างเดียว แต่ไม่ลดลงอย่างเคร่งครัด กฎระเบียบ คุณอาจให้โปรแกรมหรือฟังก์ชั่น สามารถป้อนข้อมูลในรูปแบบที่เหมาะสมใด ๆ : อาร์เรย์รายการสตริงที่มีตัวเลขคั่นด้วยช่องว่าง ... คุณสามารถเลือกผลลัพธ์ที่สอดคล้องกันสามรายการสำหรับสามหมวดหมู่ตามลำดับ ยกตัวอย่างเช่นเอาท์พุทสามารถเป็นตัวเลข0, 1, 2; หรือสตริง1 1, 1 0สตริงว่าง รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ เสียงโมโนโทนลดลงอย่างเคร่งครัด: 7 5 4 3 1 42 41 5 โมโนโทนไม่เพิ่มขึ้น แต่ไม่ลดลงอย่างเคร่งครัด: 27 19 19 10 3 6 4 …

29
มันเป็นรหัสคำนำหน้า?
ในทฤษฎีข้อมูล "รหัสคำนำหน้า" เป็นพจนานุกรมที่ไม่มีคีย์ใดเป็นคำนำหน้าของอีก กล่าวอีกนัยหนึ่งนี่หมายความว่าไม่มีสตริงใดเริ่มต้นด้วยสตริงอื่นใด ตัวอย่างเช่น{"9", "55"}เป็นรหัสคำนำหน้า แต่{"5", "9", "55"}ไม่ใช่ ข้อได้เปรียบที่ใหญ่ที่สุดของเรื่องนี้คือข้อความที่เข้ารหัสสามารถเขียนลงโดยไม่มีตัวคั่นระหว่างพวกเขาและมันจะยังสามารถถอดรหัสได้โดยไม่ซ้ำกัน สิ่งนี้แสดงให้เห็นในอัลกอริธึมการบีบอัดเช่นการเข้ารหัส Huffmanซึ่งจะสร้างรหัสคำนำหน้าที่ดีที่สุดเสมอ งานของคุณง่าย: ได้รับรายการของสตริงตรวจสอบว่ามันเป็นรหัสคำนำหน้าที่ถูกต้องหรือไม่ ข้อมูลของคุณ: จะมีรายการของสตริงในรูปแบบที่เหมาะสม จะมีสตริง ASCII ที่พิมพ์ได้เท่านั้น จะไม่มีสตริงว่างเปล่า ผลลัพธ์ของคุณจะเป็นค่าจริง / เท็จ : ความจริงถ้ามันเป็นรหัสคำนำหน้าที่ถูกต้องและเป็นเท็จถ้ามันไม่ ต่อไปนี้เป็นกรณีทดสอบจริง: ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", …

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