日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

HDOJ 1018(阶乘位数)

發布時間:2025/5/22 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDOJ 1018(阶乘位数) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.log10(num)+1

?

2.較小數情況下,sprintf(str,"%d",num);輸出strlen(str),所以不能初始化為0

?

自然對數:log() ?,以二為底log2(num)=log(num)/log2,因為那個自然對數的底是無理數,不好表示,只要有了自然對數的表示,其他用換底公式就OK啦

?

?

?

我一直想的是求出階乘后,再strlen(str),其實求階乘位數有一個公式

?

?

?

//lnN!=NlogN-N+0.5*log(2*PI*N)

?

?

#include<stdio.h>

#include<math.h>

#define PI 3.14159265

int num,ans;

void count_factorial()

{

? ? double t;

? ? t = (num*log(num) - num + 0.5*log(2*num*PI))/log(10);

? ? ans= (int)t+1;

? ? printf("%d\n",ans);

}

int main()

{

? ? int i,n;

? ? scanf("%d",&n);

? ? for( i=1 ; i<=n ; i++ ) ?

? ? {

scanf("%d",&num);

count_factorial();

}

return 0;

}

?

3.

總結

以上是生活随笔為你收集整理的HDOJ 1018(阶乘位数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。