Hdu 3123
Output the answer of (0! + 1! + 2! + 3! + 4! + ... + n!)%m.
Constrains
0 < T <= 20
0 <= n < 10^100 (without leading zero)
0 < m < 1000000
提示: n!对于n大于m的时候 n!%m=0
因为n的阶乘包括m
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,n,m,cas,t;
__int64 mid,sum;
char s[1000];
scanf("%d",&cas);
while(cas--)
{
scanf("%s %d",&s,&m);
if(strlen(s)>=7)
t=m;
else sscanf(s,"%d",&t);
mid=1;
sum=1;
for(i=1;i<=t;i++)
{
mid=(mid*i)%m;
sum=(sum+mid)%m;
}
printf("%I64d\n",sum%m);//这里一定一定要%m
否则会错
}
return 0;
}
分享到:
相关推荐
For a positive integer n, let’s denote function f(n,m) as the m-th smallest integer x that x>n and gcd(x,n)=1. For example, f(5,1)=6 and f(5,5)=11. You are given the value of m and (f(n,m)?n)⊕n,...
6 4 10296 936 1287 792 1 Sample Output 105 10296 题目分析:求n个数的最小公倍数;先利用gcd算法求两个数的最大公约数,再考虑最小公倍数=两数乘积/最大公约数,即可求得最小公倍数。 注意:要考虑到输入的输入...
HDS9970 HP XP128 SUN 9970V TEL:400-888-6656 8610-51657781 ...(WP463-B×1 & SH281-D×4) *3 2-6 SP 24 5519714-A NAS 2-port CHA ASSY (Short wave 1.25Gbps) (WP467-A×1 & SH281-D×2) 25 5513983-B Serial 4-...
题目链接题目意思有n个城镇,编号为0~n-1,m条道路,从一个城镇到另一个城镇有多条路,现在问你从一个城镇到另一个城镇的最短距离是多少。其中要注意的是,城镇之间
问题转化为:判断整数是否为正整数且二进制中仅存在一位1 (n > 0 && (n & (n - 1)) == 0) 链表节点交换 修改next指针的值进行节点的交换 修改val字段的值 等价节点交换 练习: leetcode: 24. Swap Nodes in Pairs ...
最近在刷挑战,做了博弈...由特殊到一般,我们可以将这个公式推广:当m>1时,先手的必胜态:n%(m+1)!=0。 附上一道模板题:hdu1846 #include #include typedef long long ll; using namespace std; int C; int n, m; i
MF000385 : 2k4h9e MF000386 : yyp8kq MF000387 : hf386t MF000388 : ec61gv MF000389 : qrd6dz MF000390 : b75hox MF000391 : z3x5v6 MF000392 : v1dkp9 MF000393 : r3udol MF000394 : 9afvx7 MF000395 : et4dpi MF...
求一个有向图n个点 m 条边,是否是强连通分量,如果是输出Yes, 不是输出No. 数据范围 n < 10000, m < 100000 思路: Tarjan模板题 补习: AC code: /* Tarjan求有向图的强连通分量, */ #include #...
使用并查集+贪心:先将已有边的权值从大到小排序,又n个点只需n-1条边,这时再遍历一遍,将有边的两点合并为一个队伍,当边的数量达到n-1时退出循环,因为此时已达到最小生成树。 边的权值由大到小排序是因为要将大...
二分图匹配实例代码及整理 1、匈牙利算法 HDU 1150 #include #include #include using namespace std; int m,n,k;... for(int i=1;... if(vis[i]==0&&mpt[x][i]==1) { vis[i]=1; if(use[i]==-1||hungary(us
2020暑期专题图论一解题报告A-HDU1269题意:n个点,m条有向边,问是否每个点都可相互到达思路:Tarjan求SCC分量是不是只有一个参考代码:#inc
B HDU 5093 Battle ships题意给出一个n行m列的图,*代表海域,o代表冰水,#代表冰山,要想在海域中放置船,保证船与船之间不能相互看到,之间