輸入n求n的階乘的準確值。
input
輸入n(1 <= n <= 10000)output
輸出n的階乘input示例
5output示例
120
主要思路手算模擬
學習點:printf("%04d",5); 0005
printf("%-4d",5); 5 (後加三個空格)
自己**:
#include"stdio.h"
#include"stdlib.h"
#define n 1000000
#define mod 10000
int a[n]=;
int a_len=0;
int main()
if(bin) a[++a_len]=bin;
}printf("%d",a[a_len]);
for(k=a_len-1;k>=0;k--)
printf("%04d",a[k]); //注意控制輸出格式
printf("\n");
return 0;
}
大神** (效率略高)
#includeint a[9999]=,n,i,c,len,j;
int main()
printf("%d",a[--len]);
for(;len;)
printf("%05d", a[--len]);
return 0;
}
大大神**(效率高很多) 自己體會
#include #include #include #include #include #include #include #include#includeusing namespace std;
#define ll long long
#define n 1000005
#define mod 100000000000000
ll ans[10000000];
int main()
if(c!=0)
}printf("%i64d",ans[l]);
for(i=l-1; i>=0; i-=1)
return 0;
}
互相學習,共同進步,如果覺得對你有幫助。
那麼頂一下吧,給我一點鼓勵,謝謝
51Nod 1057 N的階乘(大數乘法)
輸入n求n的階乘的準確值。輸入n 1 n 10000 輸出n的階乘5120這道題如果用常規的模擬乘法可能有一半的測試點超時。我來說一下超時原因 因為20的階乘,就已經達到2432902008176640000了,但是常規演算法中頻繁進製操作其實很耗時,所以將原來的陣列乙個位置只存一位數改為乙個位置存...
1057 N的階乘 數論
1057 n的階乘 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 輸入n求n的階乘的準確值。input 輸入n 1 n 10000 output 輸出n的階乘input示例 5output示例 120 模擬平時int型別對10取餘進製,輸出還需要注意格式,013lld是...
51nod 1057 n的階乘 (壓位優化)
使用壓位進行優化,即一位數存多位數,例如當設定mod 1e8時,一位數可以存8位數 其次,注意尾數0,因為壓位,一位需要輸出8個0,故第乙個數應單獨輸出 這樣優化可以到100ms以內 1 include2 include3 include4 using namespace std 56 define...