题目大意 求n!在k进制下的位数 2≤N≤2^31, 2≤K≤200 分析 作为数学没学好的傻嗨,我们先回顾一下log函数 \(\log_a(b)=\frac 1 {log_b(a)}\) \(\log_a (x^k)=k*\log_a x\) \(\log_a(bc)=log_a(b)+log_a(c)\) 嗯嗯,呵呵 我们要求的是\(log_k(n!)\) n大处理不了 用斯特林公式 \(n! \approx \sqrt{2\pi n} * (\frac n e)^n\) \(\log_k(…
问n! 转化成k进制后的位数和尾数的0的个数.[UVA 10061 How many zeros and how many digits?] Given a decimal integer number you will have to find out how many trailing zeros will be there in its factorial in a given number system and also you will have to find how many di…
1116 K进制下的大数  基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 有一个字符串S,记录了一个大数,但不知这个大数是多少进制的,只知道这个数在K进制下是K - 1的倍数.现在由你来求出这个最小的进制K. 例如:给出的数是A1A,有A则最少也是11进制,然后发现A1A在22进制下等于4872,4872 mod 21 = 0,并且22是最小的,因此输出k = 22(大数的表示中A对应10,Z对应35). Input 输入大数对应的字符串S.…
求x!在k进制下后缀和的个数 20分:     求十进制下的x!后缀和的个数 40分: 高精求阶乘,直接模拟过程 (我不管反正我不打,本蒟蒻最讨厌高精了) 60分     利用一个定理(网上有求x!在10进制.2进制下后缀和的个数的题,原理一样) 证明:(转自http://www.cnblogs.com/dolphin0520/) 求n的阶乘某个因子a的个数,如果n比较小,可以直接算出来,但是如果n很大,此时n!超出了数据的表示范围,这种直接求的方法肯定行不通.其实n!可以表示成统一的方式.  …
链接:https://www.nowcoder.com/acm/contest/121/F来源:牛客网 题目描述 WWX的女朋友送给了他一个礼物,可是礼物却被一把K进制密码锁锁住了.在礼物盒上还有一张出自她的女朋友的纸条:”嘿嘿~~密码我会在520那天告诉你”.但是WWX想提前知道礼物是什么,所以找到了这把锁的制造者Ddjing.Ddjing告诉他,我只知道这把锁的加密原理:在锁的表面会定期显示两个十进制数x和n,如果你能在有限时间算出来将n个x相乘的结果,其用k进制表示时的长度就是这把锁的密码…
1045 - Digits of Factorial Factorial of an integer is defined by the following function f(0) = 1 f(n) = f(n - 1) * n, if(n > 0) So, factorial of 5 is 120. But in different bases, the factorial may be different. For example, factorial of 5 in base 8 i…
好久没写博客了,因为感觉时间比较紧,另一方面没有心思,做的题目比较浅也是另一方面. 热身赛第二场被血虐了好不好,于是决定看看数位DP吧. 进入正题: 如题是一道经(简)典(单)的数位dp. 第一步,对于数K^n-1这种形式的数,位数为n,它的各个位上,每个数0~K-1出现过的次数是一样的. 于是对于数B=K^n-1,有f(B)=(B+1)*n*(0+1+2+...+K-1)/K=(B+1)*n*(K-1)/2; 程序为: LL sum1(int pre,int n,int k) { LL ret…
解题关键:$A\% (k - 1) = (A[0] + A[1]*k + A[2]*{k^2} + ...A[n]*{k^n})\% (k - 1) = (A[0] + A[1] + ...A[n])\% (k - 1)$ 然后枚举即可,注意上下界.需要注意的坑,K要>Max(A[0]……A[n]).因为2进制中,不会出现3 #include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ str…
你万万想不到,Long Long 就能存下的数据 #include <iostream> #include <cstdio> #include <cstdlib> #include <map> using namespace std; typedef long long ll; map<char,int>mp; int main() { string s; while(cin>>s){ int max1=-1; int max2=-1…
题目链接 题意:中文题. 题解:暴力枚举. #include <iostream> #include <cstring> using namespace std; ; ; char num[MAXS]; int main(int argc, const char * argv[]) { while (cin >> num) { ; int len = (int)strlen(num); ; ; i < len; i++) { ') { > MINK) { M…