日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hdoj Last non-zero Digit in N! 【数论】

發布時間:2025/7/25 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdoj Last non-zero Digit in N! 【数论】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

找規律!

求N!最后非0位的值。比方2是120的最后一個不是0的值。
輸入N比較大,要大數保存。
注意到最后0的個數是與5的因數的個數相等。設f(n)為n!的最后非0位。
那么f(n)=((n%5)!* f(n/5) *2^(n/5))%10
因數2的個數始終大于5,從1開始每連續5個劃分為1組,當中5的倍數僅僅提取出一個因數5后,
組成一個新的數列1到n/5,我們有1*2*3*4*5=6*7*8*9*5=2(取最后一個非0位),這里就是2^(n/5)。
再乘上剩下來的幾個數字就可以
(比方n是123,那么第一次會剩下121,122,123三個數沒有被分配)。

比如:23 就能夠變為 f(23) = ((3)! * f(4) * 2^(4))%10; f(4) = 4;

故f(23) = 4; 參考http://blog.csdn.net/yihuikang/article/details/7721875

Last non-zero Digit in N!

Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5908????Accepted Submission(s): 1471


Problem Description The expression N!, read as "N factorial," denotes the product of the first N positive integers, where N is nonnegative. So, for example,
N N!
0 1
1 1
2 2
3 6
4 24
5 120
10 3628800

For this problem, you are to write a program that can compute the last non-zero digit of the factorial for N. For example, if your program is asked to compute the last nonzero digit of 5!, your program should produce "2" because 5! = 120, and 2 is the last nonzero digit of 120.

Input Input to the program is a series of nonnegative integers, each on its own line with no other letters, digits or spaces. For each integer N, you should read the value and compute the last nonzero digit of N!.

Output For each integer input, the program should print exactly one line of output containing the single last non-zero digit of N!.

Sample Input 1 2 26 125 3125 9999
Sample Output 1 2 4 8 2 8

#include<stdio.h> #include<string.h> const int di[4] = { 6, 2, 4, 8};//這是2的次冪最后一位的循環; const int pre[10] = { 1, 1, 2, 6, 4,2,2,4,2,8};//前十個數的最后一位; int a[200], ls; char s[200]; void tran( int ls )//轉換 將個位放在a[0]處 {for( int i =ls-1; i >= 0; i -- )a[ls-i-1] = s[i]-'0'; } void mult( ) {int i, t=0;//t是借位; for( i = ls-1; i >= 0; i -- ){int q = t*10+a[i];a[i] = q/5;t = q%5;}while( ls > 0&&a[ls-1] == 0 ) --ls;//排除后面的0 細致考慮一下 } int la_no_num( ) {if( ls == 1 ) return pre[a[0]]; //假設僅僅有一位直接輸出或返回int x1 = pre[a[0]%5]; //這是f(n%5)mult( );int x2 = di[(a[0]+a[1]*10)%4];//這是2^(n/5) 為什么僅僅算前兩位(提示:同余定理)int ans = (x1*x2*la_no_num())%10;//f(n)=((n%5)!* f(n/5) *2^(n/5))%10return ans; } int main() {int la, i;while( ~scanf( "%s", s ) ){ls = strlen(s);tran(ls); printf( "%d\n", la_no_num() );}}

轉載于:https://www.cnblogs.com/hrhguanli/p/3822988.html

總結

以上是生活随笔為你收集整理的hdoj Last non-zero Digit in N! 【数论】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 免费处女在线破视频 | 韩国伦理片在线播放 | 在线视频精品免费 | 国产做爰免费观看视频 | 国产在线观看第一页 | 致命弯道8在线观看免费高清完整 | 无套内谢少妇高潮免费 | 妹子色综合| 国产视频入口 | 日本视频精品 | 国产一区二区三区在线免费观看 | xxxxwwww在线观看 | 播金莲一级淫片aaaaaaa | 一区二区三区亚洲 | 捆绑最紧bdsm视频 | 清纯唯美亚洲 | 高清久久 | 亚洲 欧美 日韩 国产综合 在线 | 中文字幕欧美人妻精品 | 欧美成人午夜电影 | 手机在线免费观看av | 麻豆精品视频在线 | 国产a三级 | 99色播| av体验区| 熟妇女人妻丰满少妇中文字幕 | 免费啪啪网址 | 夜夜欢视频| 男女啪啪免费 | 欧美老肥熟 | 成人在线免费电影 | 色爱AV综合网国产精品 | 欧美精品自拍视频 | 色午夜av | 成人在线观看亚洲 | 国产在线播 | 亚州国产精品 | 黄色大片免费网站 | 男人懂的网站 | 国产91香蕉 | 国产黑丝在线 | 欧美三级午夜理伦 | 91原创视频在线观看 | av午夜天堂 | 国产操 | 成av人片一区二区三区久久 | 捆绑少妇玩各种sm调教 | 久久久久久久久久电影 | 成人黄色网址在线观看 | 在线能看的av | 欧美色图1 | 日产精品久久久久久久 | 青青青国产视频 | 偷拍一区二区三区四区 | 午夜香蕉网 | 国产精品亚洲天堂 | 日韩精品在线观看一区二区三区 | 日本在线看片 | 亚洲一区二区伦理 | 里番acg★同人里番本子大全 | 狠狠插狠狠干 | 国产精品成人久久久久久久 | jizz中国少妇 | 久草中文视频 | 久久久亚洲一区二区三区 | √资源天堂中文在线 | 亚洲欧美视频二区 | 亚洲av熟女高潮一区二区 | 久久99一区二区 | 国产v在线观看 | 成年人在线播放视频 | 午夜av免费在线观看 | 香蕉黄色片 | 亚洲一区二区高清 | 亚洲视频网站在线观看 | 天天碰免费视频 | 91看片黄| 欧美日韩免费高清 | 欧美中文字幕视频 | 亚洲视频一区二区三区在线观看 | 欧美乱大交xxxxx | 一道本一区| 日韩精品视频在线观看网站 | 五月天激情综合 | 天堂a在线| 日本aaaa| 日韩精品免费 | 国产毛片久久 | 99精品自拍| 欧美一级淫片免费视频黄 | 美女交配 | 免费高清黄色 | 欧美黑人精品一区二区 | 日韩在线免费视频观看 | 黑人操bb| 天天操好逼 | 福利视频一区二区 | 国产美女精品视频 | 一本亚洲 |