ได้รับnตัวเลขในอาร์เรย์ (คุณไม่สามารถถือว่าพวกเขาเป็นจำนวนเต็ม) n-1ผมอยากจะคำนวณสินค้าย่อยทุกขนาด
คุณสามารถทำได้โดยการคูณตัวเลขทั้งหมดเข้าด้วยกันแล้วหารด้วยตัวเลขแต่ละตัวตามลำดับตราบใดที่ไม่มีตัวเลขใดเป็นศูนย์ อย่างไรก็ตามคุณสามารถทำสิ่งนี้ได้อย่างรวดเร็วโดยไม่มีการแบ่ง?
หากคุณไม่อนุญาตให้มีการหารจำนวนการดำเนินการทางคณิตศาสตร์ขั้นต่ำ (เช่นการคูณและการเพิ่ม) จำเป็นต้องคำนวณผลิตภัณฑ์ของชุดย่อยทั้งหมดที่มีขนาด n-1 เป็นเท่าใด
เห็นได้ชัดว่าคุณสามารถทำได้(n-1)*nหลายวิธี
เพื่อชี้แจงผลลัพธ์ที่ได้คือnผลิตภัณฑ์ที่แตกต่างกันและการดำเนินการเฉพาะนอกเหนือจากการอ่านและการเขียนไปยังหน่วยความจำที่อนุญาตคือการคูณการบวกและการลบ
ตัวอย่าง
ถ้าใส่มีเลขสาม2,3,5แล้วออกเป็นสามตัวเลข15 = 3*5, และ10 = 2*56 = 2*3
เกณฑ์การชนะ
nคำตอบควรให้เป็นสูตรที่แน่นอนสำหรับจำนวนของการดำเนินการทางคณิตศาสตร์รหัสของพวกเขาจะใช้ในแง่ของ เพื่อให้ชีวิตง่ายขึ้นฉันแค่เสียบn = 1000สูตรของคุณเพื่อตัดสินคะแนน ยิ่งต่ำยิ่งดี
หากมันยากเกินไปที่จะสร้างสูตรที่แน่นอนสำหรับรหัสของคุณคุณสามารถเรียกใช้n = 1000และนับการดำเนินการทางคณิตศาสตร์ในรหัสได้ สูตรที่แน่นอนจะดีที่สุดอย่างไรก็ตาม
คุณควรเพิ่มคะแนนn=1000ของคุณเป็นคำตอบสำหรับการเปรียบเทียบง่าย ๆ
+ในดัชนีนับ? หากเป็นกรณีนี้การจัดทำดัชนีอาร์เรย์จะนับด้วยหรือไม่ (เนื่องจากเป็นน้ำตาลที่อยู่หลัง syntactic ทั้งหมดสำหรับการบวกและการลดความเสี่ยง)
(n-1)*nคูณคุณหมายถึง(n-2)*nใช่มั้ย