สมาชิก : เข้าสู่ระบบ |การลงทะเบียน |ส่งคำถาม
ค้นหา
เครือข่ายคอมพิวเตอร์ - ดิจิตอลอิเล็กทรอนิกส์ - เป็นธรรมชาติ - ประวัติศาสตร์ - ชีวิต - เกม - กีฬา - รูป - การบันเทิง - งานอดิเรกสันทนาการ - วัฒนธรรมและศิลปะ - ชุมชน - วิทยาศาสตร์ศึกษา - การดูแลสุขภาพ - เศรษฐศาสตร์และการจัดการ - การเกษตร - เครื่องจักรกล - ศาสนา - ทหาร - อารมณ์ - ภูมิภาค - ประเภทอื่น ๆ -
โปรแกรมในภาษา C ป้อนจำนวนเต็ม M และ N (0≤n≤m≤20) คำนวณจำนวนการรวมกันของ C (m, n) เดอะ
ผู้มาเยือน | เครือข่ายคอมพิวเตอร์ 2017-07-10
[ส่งคำถาม ]
ผมต้องตอบ - ผู้มาเยือน | เข้าสู่ระบบ

ภาพ :
ชนิด :|jpg|gif|jpeg|png| , Byte <1024KB
| ตรวจสอบรหัส :
ทั้งหมด ตอบ - 1
ผู้มาเยือน - ตอบ 2017-07-11
สูตรคือ

 
// ขอเมตรรวมกัน c ไม่ factorial โดยตรงก็จะเป็นเรื่องง่ายมากที่จะล้นเช่น: # include < iostream > ใช้มาตรฐาน namespace; int main () {int i, ปัจจัย = 1; สำหรับ (i = 1; I < = 20; i ) {ปัจจัย * = ฉัน; ศาล < < " i = " < < I < < " ปัจจัย = " < < ปัจจัย < < endl;} return 1 ;} นี้เป็นปัจจัยที่เรียบง่ายของ 20 ผล: i = 1 ปัจจัย = 1i = 2 ปัจจัย = 2i = 3 ปัจจัย = 6i = 4 ปัจจัย = 24i = 5 ปัจจัย = 120i = 6 ปัจจัย = 720i = 7 ปัจจัย = 5040i = 8 ปัจจัย = 40320i = 9 ปัจจัย = 362880i = 10 = ปัจจัย 3628800i = 11 = ปัจจัย 39916800i = 12 = ปัจจัย 479001600i = 13 ปัจจัย = 1932053504 // นี่มี overflowed นี้เป็น 6227020800i = 14 = ปัจจัย 1278945280i = 15 = ปัจจัย 2004310016i = 16 ปัจจัย = 2004189184i = 17 = ปัจจัย -288522240i = 18 = ปัจจัย -898433024i = 19 = ปัจจัย 109641728i = 20 = ปัจจัย -2102132736Process กลับ 1 (0x1) เวลาดำเนินการ: 0.522 sPress ปุ่มใด ๆ เพื่อดำเนินการต่อไป.ตั้งแต่วันที่ 13 ที่จะเริ่มต้นที่จะไปผิดก็เป็นระเบียบอยู่เบื้องหลังมันสูตรจะต้องขยายกับวิธี recursive: ทั้งสองวิธีมีข้อได้เปรียบของพวกเขา: // ไปที่ C (m, n) ขยาย // C (m, n ) = C (m, n-1) * (M-n 1) / n // // และ C (m, n) = C (M-1, n-1) C (M-1, n ) สามารถหลีกเลี่ยงข้อมูลล้น // #include < iostream > ใช้มาตรฐาน namespace; int รวมกันยาว (int เมตร int n) {if (n == 1) {ผลตอบแทน M;} รวมกันผลตอบแทน (m, n - 1) * (M - n 1) / n;} int ยาว combination2 (int เมตร int n) {if (n == 0 || ม == n) ผลตอบแทน 1; ผลตอบแทน combination2 (M - 1, n - 1) combination2 (M - 1, n);} int main () {int m, n; ศาล < < " M = " ;; CIN > > M; ศาล < < " n = " ;; CIN > > n; if (M < n) {ศาล < < " การป้อนข้อมูลที่ไม่ถูกต้อง " < < endl; return 0;} ศาล < < " องค์ประกอบ: " < ; < รวมกัน (m, n) < < endl; ศาล < < " องค์ประกอบ: " < < combination2 (m, n) < < endl; return 1;}.
การคำนวณนี้ไม่สามารถได้รับการประเมินในการรวมกันจะล้น

ลิขสิทธิ์ @2017 GQAQA Q & A