首页 > Random
头像 E丶Zed
发表于 2026-02-08 14:53:08
链接:https://ac.nowcoder.com/acm/contest/120563/B 来源:牛客网 题目概述 给定一个长度为 n 的数组,需要找到任意两个不同位置的元素,使得它们的最大公约数大于 1。存在则输出这两个元素的值,否则输出 -1。 思路分析 简单思考可知,只要两个数有任何一个公 展开全文
头像 牛客532882412号
发表于 2026-02-07 20:35:00
一、输入输出描述如图所示 二、核心思路 因为输入数据最大不超过1e9,sqrt(1e9)≈31622.78,所以可先使用欧拉筛,将所有不超过32000的质数记录进prime数组中。然后遍历每组输入数据,将每个数据分解质因数,并用map开一个数组,记录所出现过的质因子,一旦同一个质因子出现两次,则这 展开全文
头像 我是无敌暴龙王
发表于 2026-02-10 23:30:47
本题求两个公约数不为1的数,可使用gcd(a,b)求出公约数然后暴力过关。 下面是代码: #include<bits/stdc++.h> #define int long long int a[200005]; using namespace std; signed main(){ i 展开全文
头像 星满天呦
发表于 2026-02-08 17:07:10
题目题意: 在[1,1e9]的范围内,随机独立均匀的生成若干数,是否能够找到两个数使之他们的最大公约数要 >1 题目分析: 如果有两个数,根据题目中均匀独立随机生成可知,他们不都为偶数的概率为0.75,那么如果有100对数据,他们不都为偶数的概率就为(0.75)^100,约为3.2e-13,如 展开全文
头像 092325103陈鹏
发表于 2026-02-14 20:08:58
关于这一题,题目中说:随机均匀的分布,如果是随机的话,那么我随便抽两个数字,1000以内不可能会没有gcd>1,最后选择抽数字看gcd了,我是觉得1000以内一定可以有,另外考虑出题人意图的话,他也不可能给你整一些很抽象的数组的,不然怎么整 #include<bits/stdc++.h& 展开全文

等你来战

查看全部