P8814 [CSP-J 2022] 解密 题目描述 传送门 给定一个正整数k,有k次询问,每次给定三个正整数ni,ei,di,求两个正整数pi,qi,使ni=pi×qi、ei×di=(pi−1)(qi−1)+1。 输入格式 第一行一个正整数k,表示有k次询问。 接下来k行,第i行三个正整数ni,di,ei。
二、解密 decode本题是一道数论题,但笔者好菜,硬把它做成了二分(捂脸)先来说正解我们看题目,因为本题要求{n=p×qe×d=(p−1)×(q−1)+1而n,e,d 已知,所以本题实际上是在考察 二元二次方程组转化乘一元二次方程并求解而ed=(p−1)(q−1)+1⇒ed=pq−p−q+2...
// Problem: P8814 [CSP-J 2022] 解密// Contest: Luogu// URL: https://www.luogu.com.cn/problem/P8814// Memory Limit: 512 MB// Time Limit: 1000 ms// Powered by CP Editor (https://cpeditor.org)#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;#define ll long long...
CSP-J2022入门组复赛题目一乘方题目二解密, 视频播放量 973、弹幕量 6、点赞数 8、投硬币枚数 9、收藏人数 18、转发人数 9, 视频作者 信奥编程罗老师, 作者简介 爱闲聊,不爱做题,信息学奥赛老师,相关视频:CSPJ2024复赛讲解(个人见解,啥问题欢迎讨论),初中组基础知识
int main() { scanf("%d",&k); for(int i=1;i<=k;i++) { long long n,d,e; scanf("%lld %lld %lld",&n,&d,&e); long long m=n-d*e+2; long long r=m/2,l=1;//因为p<=q,所以我们可以只二分左部分的区间 while(l<r) ...
2022CSP-J组真题 2.解密 核心思想: 对本题先进行数学公式推导. 已知ed=(p-1)(q-1) + 1 = pq - p - q + 2 由于n, e, d 是已知的, 令 p + q = m ,可得 由① 式得, q = m - p , 代入② 式得 p(m - p) = n ,即 p^2 - mp + n = 0...
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(){...
Home Problems 55002 - [CSP-J 2022]解密(decode) 55002 - [CSP-J 2022]解密(decode)给定一个正整数 kk,有 kk 次询问,每次给定三个正整数 ni,ei,dini,ei,di,求两个正整数 pi,qipi,qi,使 ni=pi×qi、ei×di=(pi−1)(qi−1)+1ni=pi×qi、ei×di=(pi−1)(qi−1)+1。Input...
[CSP-J 2022] 解密 样例#1 样例输入 #1 代码语言:javascript 复制 10770775633121154514996833227858325772337135722611867171782932635284109 样例输出 #1 代码语言:javascript 复制 2385NONONO117832412286NONO688 提示 附件 【样例 #2】 见附件中的decode/decode2.in与decode/decode2.ans。
解密 由题意得ed=pq−p−q+2,而n=pq,那么p+q=n+2−ed=m 即p,q为一元二次方程x(m−x)=n的两个解 直接用求根公式可以算出来,由于开方会有误差,也可以用二分法来计算。 因为两个数之和一定的情况下,越接近乘积越大,可以对其中较小的数p在[1,m2]上二分, ...