阶乘C语言超出范围,阶乘新问题-题解(C语言代码)

这题的原理其实看阶乘的答案,就能看出一些规律。就是0的出现和多少,与5和5的倍数有密切关系。

1! = 1

2! = 2

3! = 6

4! = 24

5! = 120

6! = 720

7! = 5040

8! = 40320

9! = 362880

10! = 3628800

11! = 39916800

12! = 479001600

13! = 6227020800

14! = 87178291200

15! = 1307674368000

16! = 20922789888000

17! = 355687428096000

18! = 6402373705728000

19! = 121645100408832000

20! = 2432902008176640000

21! = 51090942171709440000

22! = 1124000727777607680000

23! = 25852016738884976640000

24! = 620448401733239439360000

25! = 15511210043330985984000000

26! = 403291461126605635584000000

27! = 10888869450418352160768000000

28! = 304888344611713860501504000000

29! = 8841761993739701954543616000000

30! = 265252859812191058636308480000000

31! = 8222838654177922817725562880000000

32! = 263130836933693530167218012160000000

33! = 8683317618811886495518194401280000000

34! = 295232799039604140847618609643520000000

35! = 10333147966386144929666651337523200000000

36! = 371993326789901217467999448150835200000000

37! = 13763753091226345046315979581580902400000000

38! = 523022617466601111760007224100074291200000000

39! = 20397882081197443358640281739902897356800000000

40! = 815915283247897734345611269596115894272000000000

41! = 33452526613163807108170062053440751665152000000000

42! = 1405006117752879898543142606244511569936384000000000

43! = 60415263063373835637355132068513997507264512000000000

44! = 2658271574788448768043625811014615890319638528000000000

45! = 119622220865480194561963161495657715064383733760000000000

46! = 5502622159812088949850305428800254892961651752960000000000

47! = 258623241511168180642964355153611979969197632389120000000000

48! = 12413915592536072670862289047373375038521486354677760000000000

49! = 608281864034267560872252163321295376887552831379210240000000000

50! = 30414093201713378043612608166064768844377641568960512000000000000

```c

#includeint main(void)

{

int i = 0,j =0,a =0;

long int n;

long int num = 0;

scanf("%ld",&n);

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

{

j = i;

a = 0;

while(j % 5 == 0)

{

j/=5;

a++;

}

num += (n-i+1) * a;

}

printf("%ld",num);

}

```

0.0分

0 人评分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值