【HDU】 1018 Big Number
number HDU Big
2023-09-14 09:10:08 时间
大意就是求 :
log10(n!) = log10(1 * 2 * 3 * .......*n) = log10(1) + log10(2) + ........+log10(n);
打表的话会MLE,直接递推即可了。后台数据不会非常***钻。
#include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long LL; const int maxn = 10000000; //double dp[maxn + 1]; //void List(){ // dp[1] = log10(1.0); // for(int i = 2; i < maxn; i++) // dp[i] = dp[i - 1] + log10(1.0 * i); // return; //} int main(){ int T; //List(); scanf("%d",&T); while(T--){ int n; scanf("%d",&n); double ret = 0; for(int i = 1; i <= n; i++) ret += log10(1.0 * i); printf("%.f\n",ceil(ret)); } return 0; }
另一种方法,就是斯特林公式
也就是log10(n!) = log(n!) / log(10) = ( n*log(n) - n + 0.5*log(2*π*n))/log(n);
直接公式就出来了,更快捷。
这里就不多说了。
相关文章
- oracle中number的用法,Oracle Number数字
- MySQL Error number: 3522; Symbol: ER_PK_INDEX_CANT_BE_INVISIBLE; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: 3772; Symbol: ER_DEFAULT_VAL_GENERATED_VARIABLES; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: 3885; Symbol: ER_DA_UNKNOWN_ERROR_NUMBER; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: 4007; Symbol: ER_REGEX_NUMBER_TOO_BIG; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010332; Symbol: ER_DD_SCHEMA_NOT_FOUND; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010471; Symbol: ER_FAILED_TO_DECREMENT_NUMBER_OF_THREADS; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010663; Symbol: ER_NDB_BINLOG_NDB_LOG_TRANSACTION_ID_REQUIRES_V2_ROW_EVENTS; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010815; Symbol: ER_BINLOG_FILE_EXTENSION_NUMBER_RUNNING_LOW; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010894; Symbol: ER_NDB_NUMBER_OF_CHANNELS; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-02287: sequence number not allowed here ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-011008; Symbol: ER_DD_UPGRADE_TABLE_STATS_MIGRATE_COMPLETED; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-02855: Number of requests is less than the number of slaves ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-011258; Symbol: ER_SYS_VAR_COMPONENT_UNKNOWN_VARIABLE_TYPE; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011302; Symbol: ER_XPLUGIN_FAILED_AT_SSL_CONF; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011309; Symbol: ER_XPLUGIN_FAILED_TO_SET_MIN_NUMBER_OF_WORKERS; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-012082; Symbol: ER_IB_MSG_257; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-012463; Symbol: ER_IB_MSG_638; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-012865; Symbol: ER_IB_MSG_1040; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013398; Symbol: ER_IB_MSG_DDL_LOG_FAIL_POST_DDL; SQLSTATE: HY000 报错 故障修复 远程处理