hdu_3123_GCC

news/2024/12/12 6:18:31/
The GNU Compiler Collection (usually shortened to GCC) is a compiler system produced by the GNU Project supporting various programming languages. But it doesn’t contains the math operator “!”.
In mathematics the symbol represents the factorial operation. The expression n! means "the product of the integers from 1 to n". For example, 4! (read four factorial) is 4 × 3 × 2 × 1 = 24. (0! is defined as 1, which is a neutral element in multiplication, not multiplied by anything.)
We want you to help us with this formation: (0! + 1! + 2! + 3! + 4! + ... + n!)%m

InputThe first line consists of an integer T, indicating the number of test cases.
Each test on a single consists of two integer n and m.
OutputOutput the answer of (0! + 1! + 2! + 3! + 4! + ... + n!)%m.

Constrains
0 < T <= 20
0 <= n < 10^100 (without leading zero)
0 < m < 1000000
Sample Input

1
10 861017

Sample Output

593846

唬人的题目,当x>=m, x! =0 mod m
我们就是在求小于m的 ∑x!
提取公因式化简得
1+(1*2)+(1*2*3)+.....+(1*2*3*....*x)=1*(1+2*(1+3*(.....x-1*(1+x))))
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std;
int main()
{char n[105];int m,t;scanf("%d",&t);while(t--){scanf("%s",n);getchar();scanf("%d",&m);int s=strlen(n);int n1=0;for(int i=0;i<s;i++){n1*=10;n1+=n[i]-'0';if(n1>=m)break;}long long ans;if(n1>=m){ans=m-1;for(int i=m-2;i>=1;i--){ans=(ans+1)%m*i%m;}}else{ans=n1;for(int i=n1-1;i>=1;i--){ans=(ans+1)%m*i%m;}}ans++;cout<<ans%m<<endl;}
}

  

转载于:https://www.cnblogs.com/ygtzds/p/7900544.html


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

相关文章

【loj3123】【CTS2019】重复

题目 给出一个长度为\(n\)的串\(s\)&#xff0c;询问有多少个长度为\(m\)的串\(t\)  满足 \(t\) 的无限循环串存在一个长度为\(n\)且比\(s\)字典序严格小的子串 $ n , m \le 2000 $ 题解 自从CTS打铁之后就非常自闭&#xff0c;智商一天不如一天&#xff0c;所以感觉这题异常抽…

bzoj3123: [Sdoi2013]森林

题面在这里 题意&#xff1a; 给一个森林&#xff0c;森林有n个节点m条边。 现在有两种操作&#xff1a; 1.Q x y k 表示询问x-y这条链上点权的第k小。保证x&#xff0c;y在同一个连通块里。 2.L x y 表示链接x,y两点。保证x,y在不同的连通块里。 要求强制在线&#xff0…

bzoj3123

3123: [Sdoi2013]森林 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 1846 Solved: 574[Submit][Status][Discuss] Description Input 第一行包含一个正整数testcase&#xff0c;表示当前测试数据的测试点编号。保证1≤testcase≤20。 第二行包含三个整数N&#xff0c;M…

POJ 3123

https://cn.vjudge.net/problem/POJ-3123 题意&#xff1a; n 个城市&#xff0c;m 条路&#xff0c;给定八个点&#xff08;也就是四对&#xff09;&#xff0c;使每队点连通且总权和最小。 分析&#xff1a; dp[i][j] 表示 i 状态下以 j 为起点的最小总权和。 #include …

Flutter:第三方常用库整理

前言 随着Flutter的不断学习&#xff0c;接触了不少第三方的库。因此打算进行简单的整理。 dio 简介 一个强大的Dart/FlutterHTTP客户端&#xff0c;支持全局配置&#xff0c; 拦截器、表单数据、请求取消、文件上传/下载、 超时和自定义适配器等。 官方地址 https://pub-w…

Redis_客户端命令和数据操作(3)

目录 切换数据库 键命令 数据结构 string类型 hash类型 list类型 set类型 zset类型 查看中文value 源码等资料获取方法 切换数据库 redis数据库没有名称&#xff0c;默认有16个&#xff0c;通过0-15来标识&#xff0c;连接redis默认选择第一个数据库&#xff0c;可以…

青龙傻妞onebot不能用,改用cqhttp+傻妞/qqbot

不知为何我的onebot突然用不了了&#xff0c;傻妞还正常&#xff0c;这就需要改用cqhttp了 下面介绍cqhttp登录不上的问题 一般来说cqhttp还是很好安装的随便一搜就很多&#xff0c;这里先讲一下QQ扫码登录不成功问题 原因是&#xff0c;tx检测qq登录有风险&#xff0c;网络…

ONEBOT开发板

ONEBOT开发板 制作传感器的新方式—搭积木式制作传感器 介绍 ONEBOT是小米生态链爱其科技推出的开源传感器创作平台&#xff0c;提供了机器人、物联网应用创作原型&#xff0c;让每个人都享受创造科技的乐趣。 为电子爱好者、DIY、创客、教育等提供了制作传感器的 新方式&a…