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