ICode9

精准搜索请尝试: 精确搜索
  • 线性筛法2021-07-13 18:04:01

    参考埃及筛法的例题 线性筛法 #include <iostream> #include <algorithm> using namespace std; const int N = 10000010; int primes[N], cnt; bool st[N]; void get_primes(int n) { for (int i = 2; i <= n; i++) { if (!st[i]) primes[cnt++] = i; for (int j

  • 欧拉筛法求素数2021-07-13 08:01:23

    原文发布地址:https://www.acwing.com/blog/content/1725/ 欧拉线性筛法求素数 时间复杂度:O(N) 先看代码,再进行解释 #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; const int N=1e6+10; int primes[N]; bool st[N]

  • 求组合数42021-07-12 11:31:49

    求组合数 IV 输入 a,b,求 Cba 的值。 注意结果可能很大,需要使用高精度计算。 输入格式 共一行,包含两个整数 a 和 b。 输出格式 共一行,输出 Cba 的值。 数据范围 1≤b≤a≤5000 输入样例: 5 3 输出样例: 10 #include <iostream> #include <algorithm> #include <vector> using nam

  • 质数判断与质数筛法2021-07-11 10:31:37

    1、质数判断 bool isPrime(int n) { if (n < 2) return false; for (int i = 2; i <= n / i; i++) if (n % i == 0) return false; return true; } 2、埃拉筛 const int N = 1e5 + 10; int primes[N], cnt; // primes[]存储所有素数 bool st[N];

  • 用 C 语言理解 Linux 软件库2021-07-05 10:07:01

    软件库是重复使用代码的一种简单而合理的方式。 软件库是一种是一直以来长期存在的、简单合理的复用代码的方式。这篇文章解释了如何从头开始构建库并使得其可用。尽管这两个示例库都以 Linux 为例,但创建、发布和使用这些库的步骤也可以应用于其它类 Unix 系统。 这些示例库使

  • 题解 UVA835【Square of Primes】2021-07-03 18:01:43

    题目建议评紫,一道很难搞的搜索。我为了干这道题花了一整天的时间。 本题解包含代码。禁止抄袭,长度吓人,\(234\) 行,\(3658\) 字节。 不多说了,让我们开始吧! 首先,为了求出这个方阵,我们需要求出所有的五位质数。为了方便地存储它们,我们开一个五维布尔数组 \(vis\)。每维的取值范围都为

  • 判断十亿以内素数的个数2021-07-03 16:02:28

    import java.util.ArrayList; import java.util.List; //算法原理:从2开始,将[2, 根号n]中每个素数当作最小质因数去标记合数,剩下的就都是素数。(对比埃氏筛法理解) //时间复杂度:O(n) /* 算法中break那行代码的原理最难理解,作用就是弥补埃氏筛法的不足,防止重复筛除合数。 代码含

  • 用LUA刷PTA ——1015 Reversible Primes2021-06-19 14:05:45

    踩的坑 1.题目意思是十进制数转化成对应进制后翻转,得到的数是不是素数,我看了好久为啥23是二进制数。 2.测试点1,1不是素数 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 代码 --IO local read_func = io.read('*a'):gmatch('%p-%d+') local read_num

  • AcWing 874. 筛法求欧拉函数2021-06-13 14:02:17

    题目链接 : 点击查看 题目描述 : 给定一个正整数 n,求 1∼n 中每个数的欧拉函数之和。 输入输出格式 : 输入 共一行,包含一个整数 n。 输出 共一行,包含一个整数,表示 1∼n 中每个数的欧拉函数之和。 输入输出样例 : 输入 6 输出 12 题目分析 : 在之前介绍朴素版欧拉函数时,我

  • P3383 【模板】线性筛素数2021-05-13 22:31:29

    https://www.luogu.com.cn/problem/P3383 #include<cstdio> #include<iostream> using namespace std; const int N=1e7+10; const int M=1e8+10; int primes[N],cnt; bool st[M]; void print(int n) { for(int i=2;i<=n;i++) { if(!st[i]) primes[cnt++]

  • Prime Distance2021-05-05 18:02:02

    题目 题目大意 给定两个整数\(L\)和\(U\),你需要在闭区间\([L,U]\)内找到距离最接近的两个相邻质数\(C_1\)和\(C_2\)(即\(C_2−C_1\)是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。 同时,你还需要找到距离最远的两个相邻质数\(D_1\)和\(D_2\)(即\(D_1−D_2\)是最大的),如果存

  • P2568 GCD(莫比乌斯反演)2021-05-04 14:01:14

    题目传送门 本题题意转化成为: ∑ i = 1

  • P1621 集合2021-05-04 11:33:38

    文章目录 解题思路Code 传送门 解题思路 因为是在[a,b]范围内将两个拥有大于等于P的公共质因数的整数进行合并,关于质数的操作我们很容易会联想到素数筛,实际上就是这样,我们先通过欧拉筛,然后我们找到第一个大于等于a的质数,然后将[a,b]范围内的该质数的倍数进行合并操作,最

  • P2568 GCD(欧拉函数)2021-05-03 23:29:31

    题目传送门 本题题意转化成为: ∑ i = 1 n

  • 1470B - Strange Definition2021-04-26 16:33:00

    #1470B - Strange Definition 1470B - Strange Definition 题意: 给一个定义 当x和y满足 l c m (

  • K-Primes2021-04-19 23:32:20

    传送门 目录题面题目分析AC 代码足AC 代码 题面 Given \(l\) and \(k\), Cuber QQ wants you to answer if there are more than \(k\) primes (i.e., at least \(k+1\) primes) in \([l,l+2k)\). Input One line with two space-separated integers \(l,k(1≤l,k≤10^8)\). Outpu

  • O(N) 筛素数2021-04-14 04:01:10

    #define N 1000000bool np[N];vector<int> primes;void init() { for (int i = 2; i < N; ++i) { if (!np[i]) primes.push_back(i); for (int v : primes) { if (v * i >= N) break; np[v * i] = true; if (i

  • Codeforces Round #713 (Div. 3) 题解2021-04-11 15:03:44

    本场链接:Codeforces Round #713 (Div. 3) A. Spy Detected! #include <bits/stdc++.h> using namespace std; typedef long long ll; #define forn(i,x,n) for(int i = x;i <= n;++i) #define forr(i,x,n) for(int i = n;i >= x;--i) #define Angel_Dust ios::sync_w

  • POJ3126 Prime Path(BFS+线性筛/埃氏筛)2021-04-08 22:30:37

    题目传送门 这道题给出了两种做法: 首先当然要请出我们可爱的线性筛: int primes[N], cnt; // primes[]存储所有素数 bool st[N]; // st[x]存储x是否被筛掉 void get_primes(int n) { for (int i = 2; i <= n; i ++ ) { if (!st[i]) primes[cnt +

  • 数论笔记2021-03-23 16:38:10

    质数 1、质数的判定: 试除法判定质数 试除法判定质数 //朴素写法,时间复杂度O(n) bool isprime(int n){ if(n<2) return false; for(int i = 2; i < n; ++ i) if(n % i == 0) return false; return true; } 我们发现对于任何一个能

  • 51nod 1678 lyk与gcd2021-03-15 15:59:52

    题目链接 这天,lyk又和gcd杠上了。 它拥有一个n个数的数列,它想实现两种操作。 1:将 a i a_i ai​ 改为

  • CF839 D 莫比乌斯反演2021-03-14 23:32:55

    本题链接:D. Winter is here 题目大意 定义一个牛逼序列,内含若干个下标,记作\(i_1,i_2,i_3...i_k\),要求\(i_1 < i_2 < i_3...<i_k\)。同时\(gcd(a_{i_1},a_{i_2},...a_{i_k}) > 1\)。这样的一个牛逼序列,会产生其\(gcd*k\)的牛逼值。给定一个序列\(\{a\}\)。求他所有可能的牛逼序列

  • 质数相关知识点总结2021-03-10 23:04:03

    试除法判质数 算法思想 由于算法比较简单,就不再从朴素一步步进行优化了,直接写最终版本 一个数n的约数都是成对存在的,且一个位于 n 2 \sqrt[

  • PTA 1015 Reversible Primes2021-03-10 15:00:48

    题目描述 分析:将一个数在k进制下翻转,判断这个数和翻转后的数是否都是素数,埃氏筛找出素数表,完后进制转换 #include<cstdio> #include<algorithm> using namespace std; const int INF=1e5; bool prime[INF]; void findPrime(){ fill(prime+2,prime+INF,true); for(

  • 做题小感悟(随有随记)2021-02-20 18:30:21

    文章目录 搜索与素数相结合代码 最短路注意点 搜索 与素数相结合 题目大意:给出两个四位数的素数,求a变换到b需要几步,要求变幻时只有一个数字不同,并且是素数。 【直接自敲】小编上来直接bfs,错因(1)prime是质数的意思,大意了啊,直接bfs;(2)脑子是个好东西。。我直接两重循环 记

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有