Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาสองหลักสุดท้ายของผลรวมของแฟคทอเรียล N โดยใช้ C++


ที่นี่เราจะดูวิธีรับสองหลักสุดท้าย หลักหน่วยและหลักสิบของผลรวมของแฟคทอเรียล N ดังนั้นถ้า N =4 มันจะเป็น 1! + 2! +3! +4! =33. ดังนั้นหน่วยหลักคือ 3 และสิบอันดับคือ 3 ผลลัพธ์จะเป็น 33.

หากเราเห็นสิ่งนี้อย่างชัดเจน เมื่อแฟกทอเรียลของ N> 5 ตำแหน่งของหน่วยเป็น 0 ดังนั้นหลังจาก 5 จะไม่มีส่วนในการเปลี่ยนตำแหน่งของหน่วย และหลังจาก N> 10 หลักสิบจะยังคงเป็น 0 สำหรับ N =10 และมากกว่านั้น มันจะเป็น 00 เราสามารถสร้างแผนภูมิสำหรับ N =1 ถึง 10 ของจำนวนแฟคทอเรียลได้

ค้นหาสองหลักสุดท้ายของผลรวมของแฟคทอเรียล N โดยใช้ C++

เราสามารถแก้ปัญหานี้ได้โดยใช้ขั้นตอนเหล่านี้ -

  • หากค่าของ n น้อยกว่า 10 ดังนั้น (1! + 2! + … + n!) mod 10
  • มิฉะนั้น เมื่อค่าของ n มากกว่าหรือเท่ากับ 10 ดังนั้น (1! + 2! + … + 10!) mod 10 =13

ตัวอย่าง

#include<iostream>
#include<cmath>
using namespace std;
int getTenAndUnitPlace(long long N) {
   if (N <= 10) {
      long long ans = 0, factorial = 1;
      for (int i = 1; i <= N; i++) {
         factorial = factorial * i;
         ans += factorial;
      }
      return ans % 100;
   }
   return 13;
}
int main() {
   for(long long i = 1; i<15; i++){
      cout << "Ten and Unit place value of sum of factorials when N = "<<i<<" is: " <<getTenAndUnitPlace(i) << endl;
   }
}

ผลลัพธ์

Ten and Unit place value of sum of factorials when N = 1 is: 1
Ten and Unit place value of sum of factorials when N = 2 is: 3
Ten and Unit place value of sum of factorials when N = 3 is: 9
Ten and Unit place value of sum of factorials when N = 4 is: 33
Ten and Unit place value of sum of factorials when N = 5 is: 53
Ten and Unit place value of sum of factorials when N = 6 is: 73
Ten and Unit place value of sum of factorials when N = 7 is: 13
Ten and Unit place value of sum of factorials when N = 8 is: 33
Ten and Unit place value of sum of factorials when N = 9 is: 13
Ten and Unit place value of sum of factorials when N = 10 is: 13
Ten and Unit place value of sum of factorials when N = 11 is: 13
Ten and Unit place value of sum of factorials when N = 12 is: 13
Ten and Unit place value of sum of factorials when N = 13 is: 13
Ten and Unit place value of sum of factorials when N = 14 is: 13