CSP-J2022题解 /Limie T1.乘方 简要题意:给定a,b,求a^b(a^b表示a的b次方)是否大于10^9,大于输出-1,小于等于输出a^b。 分析:此题直接枚举1~b会超时,故考虑用位数判断大小,a^b的的位数为c=[b*lg(a)+1](lg为以10为底的对数,[]为下取整)。c一旦大于10,则必定不成立,当c=10时,当前仅当a=1...
二、解密 decode本题是一道数论题,但笔者好菜,硬把它做成了二分(捂脸)先来说正解我们看题目,因为本题要求{n=p×qe×d=(p−1)×(q−1)+1而n,e,d 已知,所以本题实际上是在考察 二元二次方程组转化乘一元二次方程并求解而ed=(p−1)(q−1)+1⇒ed=pq−p−q+2...
【题解】[CSP-J 2022] 解密 样例#1 样例输入 #1 代码语言:javascript 代码运行次数:0 AI代码解释 10770775633121154514996833227858325772337135722611867171782932635284109 样例输出 #1 代码语言:javascript 代码运行次数:0 运行 AI代码解释 2385NONONO117832412286NONO688 提示 附件 【样例 #2】 见附件中的decode/decode2.in与...
由于n, e, d 是已知的, 令 p + q = m ,可得 由① 式得, q = m - p , 代入② 式得 p(m - p) = n ,即 p^2 - mp + n = 0 利用一元二次方程求解公式可得, 由于题中说 p,q 为正整数,所以 m^2 - 4n 必须为完全平方数, 我们令 r = \sqrt{m^2 - 4n} ,如果 r^2 = m^2...
CSP-J2022 T2 解密 题面 思路 思路一:暴力枚举(歪解) 时间复杂度 ,所以分数拿不全, 点超时。 // Author: PanDaoxi #include <bits/stdc++.h> #define int long long using namespace std; int k, n, e, d, p, q; bool flag; signed main(){...
CSP-J2022解密 讽刺派数学家 编辑于 2022年12月05日 18:31 #include<bits/stdc++.h> using namespace std; int main(){ int k; scanf("%d",&k); for(int i=0;i<k;i++){ long long n,e,d; scanf("%lld%lld%lld",&n,&e,&d);...
1304: [CSP-J2022] 解密 文件提交:无需freopen内存限制:512MB时间限制:8.000S 评测方式:普通裁判命题人:外部导入 提交:2解决:1 提交提交记录统计露一手! 题目描述 给定一个正整数 k,有k 次询问,每次给定三个正整数ni, ei, di,求两个正整数 pi,qi,使ni= pi×qi、ei×di= (pi− 1) (qi− 1) ...
3573: [CSP-J2022] 解密 Memory Limit:512 MBTime Limit:3.000 S Judge Style:Text CompareCreator:外部导入 Submit:120Solved:9 SubmitSubmit RecordStatisticsShowOff! Description 给定一个正整数 k,有k 次询问,每次给定三个正整数nieidi,求两个正整数 piqi,使ni= pi×qi、ei×di= (pi− 1) (qi−...
CSP - J 2022 复赛 P8814 [CSP-J 2022] 解密 - 洛谷 | n=pq——(1) ed=(p−1)(q− 1)+1——( 2) 拆解式2: ed=pq−p−q+2——(3) 移项: p+q=n−ed+2——(4) 因此: {pq=np+q=n−ed+2 由式4: q=n−ed+2−p——(5)...
解密 由题意得ed=pq−p−q+2,而n=pq,那么p+q=n+2−ed=m 即p,q为一元二次方程x(m−x)=n的两个解 直接用求根公式可以算出来,由于开方会有误差,也可以用二分法来计算。 因为两个数之和一定的情况下,越接近乘积越大,可以对其中较小的数p在[1,{m\over2}]上二分, ...