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

ค โปรแกรมหาเลขที่ให้มาแรงหรือเปล่า


ตัวเลขที่คาดเดายากคือตัวเลข โดยที่ผลรวมของแฟคทอเรียลของตัวเลขนั้นเท่ากับตัวเลขนั้นเอง

ตัวอย่าง

  • 123!=1!+2!+3!

=1+2+6 =9

ในที่นี้ 123 ไม่ใช่ตัวเลขที่คาดเดายากเพราะผลรวมของแฟคทอเรียลของหลักไม่เท่ากับตัวตัวเลขเอง

  • 145!=1!+4!+5!

=1+24+120

=145

ในที่นี้ 145 เป็นตัวเลขที่คาดเดายากเพราะผลรวมของแฟคทอเรียลของหลักจะเท่ากับตัวเลขนั้นเอง

ตรรกะที่เราใช้ค้นหา ว่าตัวเลขที่ให้มาแรงหรือไม่ เป็นดังนี้ −

ในขณะที่(n){ i =1,fact =1; rem =n % 10; ในขณะที่ (i <=rem) { ข้อเท็จจริง =ข้อเท็จจริง * ผม; ผม++; } sum =ผลรวม + ข้อเท็จจริง; n =n / 10;}if(sum ==temp) printf("%d is a strong number\n",temp);else printf("%d is not a strong number\n",temp); 

โปรแกรม

ต่อไปนี้คือโปรแกรม C เพื่อค้นหาว่าตัวเลขที่ให้มาแรงหรือไม่ -

#includeint main(){ int n,i; อันที่จริง rem; printf("\nป้อนตัวเลข :"); scanf("%d",&n); printf("\n"); int sum =0; อุณหภูมิภายใน =n; ในขณะที่ (n){ i =1,fact =1; rem =n % 10; ในขณะที่ (i <=rem) { ข้อเท็จจริง =ข้อเท็จจริง * ผม; ผม++; } sum =ผลรวม + ข้อเท็จจริง; n =n / 10; } if(sum ==temp) printf("%d is a strong number\n",temp); อื่น printf("%d ไม่ใช่ตัวเลขที่แข็งแกร่ง\n",temp); คืนค่า 0;}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

รอบที่ 1:ใส่ตัวเลข :145145 เป็นตัวเลขที่รัดกุม เรียกใช้ 2:ใส่ตัวเลข :2525 ไม่ใช่ตัวเลขที่รัดกุม