HDU 2940 Hex Factorial

news/2025/1/15 16:11:38/

题目求N!中有多少个0

用16进制高精度模拟

想起来一起以前做过的一道题,求末尾有多少个0,不能取0前边的3 4个非零位存下来进行计算,误差太大


#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
#define Max  2000
int num[Max], pre[Max];
void init()
{memset(num, 0, sizeof(num));memset(pre, 0, sizeof(pre));pre[0] = 1;for(int i = 2; i <= 110; i++){int c = 0;for(int j = 0; j < Max; j++){int sum = pre[j]*i + c;pre[j] = sum%16;c = sum/16;}int k;for(k = Max-1; k >= 0; k--) if(pre[k])break;for(int j = 0; j <= k; j++) if(!pre[j])num[i]++;}
}
int main(void)
{
//    freopen("1.txt", "r", stdin);
//    freopen("2.txt", "w", stdout);int n;init();while(cin>>n && n >= 0){cout<<num[n]<<endl;}return 0;
}



http://www.ppmy.cn/news/304076.html

相关文章

poj 2940 求和

#include <stdio.h>#include <stdlib.h>int main(){ int i,n,a,sum; sum0; scanf("%d%d",&a,&n); for(i0;i<n;i) { suma; aa%1010*a; } printf("%d\n",sum); return 0;} 转载于:https://www…

稳定的LDO芯片推荐

推荐几款稳定性较好的LDO芯片&#xff1a; LM2937&#xff1a;这是一款常用的低噪声LDO&#xff0c;具有良好的稳定性和高效率。 LM2675&#xff1a;这是一款高效率的LDO&#xff0c;特别适用于需要高输出精度的应用。 LM2937-N&#xff1a;这是LM2937的低噪声版本&#xff0c;…

poj2940

简单题 View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxn 100005int n, f[maxn];void input(){for (int i 0; i < n; i) scanf("%d", &f[i]);}void w…

百练 2940 求和

题目链接&#xff1a;http://bailian.openjudge.cn/practice/2940 # include <stdio.h>int main() {int Sn,a,a_back,n;int i;scanf("%d%d",&a,&n);a_backa; Sna;for(i1;i<n;i){aa*10a_back;SnSna;}printf("%d\n",Sn); return 0; } &am…

HDOJ2940高精度阶乘优化版

题目链接&#xff1a;hdoj2940-Hex Factorial 在此转到关于本书博客ACM大学生程序设计竞赛在线题库最新精选题解&#xff08;赵端阳&#xff09;部分解析 原书和网上大多数程序都是从0到200最高位不断加乘&#xff0c;然后判断前导零位置。实际上阶乘是递增记录的&#xff0c;可…

jzoj2940. 生成输入数据

Description 首先看到题目别太开心&#xff0c;这题可不是让你出数据&#xff5e;^_* 背景神马的就忽略了。这题就是给你一棵带边权的树&#xff0c;然后这棵树是某个完全图唯一的最小生成树。问原来的完全图中所有边可能的最小边权和是多少。 完全图是任意两个点之间都有边相连…

2940. 凤凰古城

单点时限: 2.0 sec 内存限制: 256 MB 凤凰古城&#xff0c;位于沱江之畔&#xff0c;群山环抱&#xff0c;关隘雄奇。碧绿的沱江依着城墙缓缓流淌&#xff0c;叠翠的南华山麓倒映江中。江中渔舟游船数点&#xff0c;山间暮鼓晨钟兼鸣&#xff0c;悬崖上的吊脚楼轻烟袅袅&…

hdu 2940

简单的大数乘法&#xff0c;直接改16进制~~ #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <algorithm> #define maxn 3010 #define INF 0x7fffffff #define ull unsigned long long using namespace std…