HDOJ2940高精度阶乘优化版

news/2024/11/22 7:58:53/

题目链接:hdoj2940-Hex Factorial
在此转到关于本书博客ACM大学生程序设计竞赛在线题库最新精选题解(赵端阳)部分解析
原书和网上大多数程序都是从0到200最高位不断加乘,然后判断前导零位置。实际上阶乘是递增记录的,可以每次记录原数组长度,这样不必要原程序常数级复杂度。

#include<iostream>
#include<cstdio>
using namespace std;
const int maxn = 200;
int res[maxn], num[maxn];
void solve() {res[1] = 1;int len = 1;//len记录数组开销for (int i = 2; i <= 100; i++) {int c = 0;for (int j = 1; j <= len; j++) {c = res[j] * i + c;res[j] = c % 16;c = c / 16;}while (c) {//把未除尽的数分到len前res[++len] = c % 16;c = c / 16;}for (int j = 1; j <= len; j++) if (res[j] == 0)num[i]++;//0的个数}
}int main(){solve();int n;while (scanf("%d", &n) && n>=0) {printf("%d\n", num[n]);}return 0;
}

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

相关文章

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…

POJ - 2940

题目 As you may know from the comic “Asterix and the Chieftain’s Shield”, Gergovia consists of one street, and every inhabitant of the city is a wine salesman. You wonder how this economy works? Simple enough: everyone buys wine from other inhabitants …

poj 2940

Wine Trading in Gergovia Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3187 Accepted: 1454 Description As you may know from the comic “Asterix and the Chieftain’s Shield”, Gergovia consists of one street, and every inhabitant of the city is …

BZOJ2940 条纹

条纹游戏是一个双人的游戏。所需要的物品有一个棋盘以及三种颜色的长方形条纹&#xff0c;这三种颜色分别是红色、绿色和蓝色。所有的红色条纹的尺寸是c*1&#xff0c;所有的绿色条纹的尺寸是z*1&#xff0c;所有的蓝色条纹的尺寸是n*1&#xff0c;这里c,z,n是正整数。每种颜色…

Linux Crash/Hang on Bay Trail/J1900/N2940

近几年的linux kernel, 尤其是4.1以后,在Bay Trail平台上会随机挂起和死机,亲测j1900,死机非常频繁,而且死机前毫无征兆,直接就挂起了,console也没有相应。 这个问题在bugzilla.kernel.org上已经吵翻了,从2015年年初,一直到现在,仍然没有彻底解决,临时方案有几个,但…

docker下载慢,卡顿解决办法——免费安装人人都有的docker加速器

点我获取阿里云免费镜像加速器 先确认一下docker版本>1.10.0 docker -v 人人都有免费哦~ 进入对应目录查看&#xff0c;我是root用户且没有 daemon.json文件 那就创建一个 vim daemon.json内容就是网页复制的那个 最后重启 systemctl daemon-reloadsystemctl restart do…