九度OJ 1076:N的阶乘 (数字特性、大数运算)
生活随笔
收集整理的這篇文章主要介紹了
九度OJ 1076:N的阶乘 (数字特性、大数运算)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
時間限制:3 秒
內存限制:128 兆
特殊判題:否
提交:6384
解決:2238
題目描述:?輸入一個正整數N,輸出N的階乘。
正整數N(0<=N<=1000)
?輸入可能包括多組數據,對于每一組輸入數據,輸出N的階乘
思路:
數很大,long long都表示不了,實際考察的是大整數乘法。
我寫的代碼可以實現,但應該有比較大的優化余地。
代碼:
#include <stdio.h>int main(void) {int n;int a[3001];int i, j;while (scanf("%d", &n) != EOF){for (j=0; j<3001; j++)a[j] = 0;a[0] = 1;for (i=1; i<=n; i++){for (j=0; j<3*i; j++)a[j] *= i;for (j=0; j<3*i; j++){if (a[j] >= 10){a[j+1] += a[j]/10;a[j] %= 10;}}}for (i=3*n; i>=0; i--){if (a[i] != 0)break;}//printf("%d\n\n", i);for (j=i; j>=0; j--)printf("%d", a[j]);printf("\n");}return 0; } /**************************************************************Problem: 1076User: liangrx06Language: CResult: AcceptedTime:2390 msMemory:912 kb ****************************************************************/轉載于:https://www.cnblogs.com/liangrx06/p/5083956.html
總結
以上是生活随笔為你收集整理的九度OJ 1076:N的阶乘 (数字特性、大数运算)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “只有DBA才能导入由其他DBA导出的文
- 下一篇: 使用anaconda安装pytorch的