大数阶乘的c语言代码


#include <stdio.h>
 
int main() { int n, i, j, tmp, sum; char num[3000] = { 1 }; scanf( "%d", &n ); for ( i=2; i<=n; i++ ) for ( j=0,tmp=0; j<3000; j++ ) { sum = num[j]*i+tmp; num[j] = sum%10; tmp = sum/10; } i = 2999; while ( !num[i] ) i--; for ( j=i; j>=0; j-- ) printf( "%d",num[j] ); putchar( '\n' ); return 0; }

把结果存放在字符数组里,所以能表示最低位到最高位的所有数字。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM