首页 > TAG信息列表 > 整除

整除相关

gcd 相关 首先要熟悉几个转化: \(\gcd (a,b) = \gcd(a, a + qb)\) \(\gcd (a, b) = \gcd(a, a - b)\) \(\gcd (a, b) = \gcd(a, a \% b)\) 这几个转化很常见。 还有: \(\operatorname{lcm}(a, \gcd(b, c)) = \gcd(\operatorname{lcm}(a, b), \operatorname{lcm}(a, c))\) \(\g

负数取余的方法

数学中余数必须是正数,被除数只能向数轴的右方向取能被整除的数。这样余数=原被除数-能整除的数,能保证是正数。 但是C++中的结果是负的,例如:-5%3==-2 如果想得到正确的结果,可以采用(-5%3+3)%3的方式就会得到正确的结果1。

MathProblem 39 Zeros and ones problem

What is the smallest integer greater than 0 that can be written entirely with zeros and ones and is evenly divisible by 225? Solution 将其分解: \[225 = 5\times 5\times 9 \]对于两个 \(5\), 显然 \(\times 2\) 以后就可以得到 \(10\). 那么如何求出由 \(0,1\) 组成的最

欧几里得算法和扩展欧几里得算法

欧几里得算法和扩展欧几里得算法 概述 本篇简要介绍欧几里得算法和扩展欧几里得算法 欧几里得算法 欧几里得算法就是辗转相除法,用于求两个数的最大公约数 欧几里得算法: public static int gcd(int a,int b){ return b==0?a:gcd(b,a%b); } 欧几里得算法的证明: 前提:设gcd(a,b) 是

第二部分 数量关系

数量关系知识目录 第一章 解题技巧 第二章 等差数列 第三章 方程与不定方程 第四章 工程问题 第五章 行程问题 第六章 经济利润问题 第七章 容斥问题 第八章 几何问题 第九章 排列组合 第十章 概率问题 第十一章 最值问题 第十二章 时间问题 第一章 解题技巧 第一节 代入排除法 1

CF1719B Mathematical Circus 题解

一道不错的构造题。 思路 先说一句废话,能被 \(4\) 整除的数在除以 \(2\) 之后得到的数还是一个偶数。 我们可以根据 \(k\) 的奇偶性以及 \(k\) 除以 \(2\) 之后的奇偶性分成三种情况来进行讨论。 当 \(k\) 为奇数时,我们把所有偶数都放在 \(b\) 的位置上,把所有的奇数都放在 \(a\)

[2016年NOIP普及组] 买铅笔

[2016年NOIP普及组] 买铅笔 思路:P老师决定只买同一种包装的铅笔同时也要最划算,那么可以循环进行3次计算。每次的价格都与最小值比较,如果小于最小值,就代替当前最小值。 分析:计算时,要算出买几包铅笔。商店不允许将铅笔的包装拆开——也就是当铅笔数量不能被每包铅笔的数量整除时,因此

J-Melborp Elcissalc

题意 有一个长度为\(n\)的序列,每个位置可以填\(0\)到\(m-1\)之间的一个数,求有多少种构造序列的方式,使得构造出来的序列恰有\(t\)个连续子段满足和可以被\(m\)整除 \(1\leq{n,m}\leq64,0\leq{t}\leq\frac{n(n+1)}{2}\) 题解 本题的关键是要想到区间\([l,r]\)的和能被\(k\)整除,等

求质数的简单算法

​  输入数字n,输出小于等于n的所有质数。 算法是简单的试除法,稍作优化,假设当前枚举数字为x,从2到sqrt(x)依次看看x是否能被整除,能被整除就不是质数,否则就是质数。 #include<iostream> using namespace std; int main() { int n; cin >> n; for (int i = 2; i <= n; i++

数论之质因数

质因数基本理解 试除法求质因数及其个数 思想 要求一个数n的质因数,令i从2开始遍历到n/i,只要n可以被i整除,就一直除以i直到不能被整除,在这个过程中统计每个质因数个数。 为什么除的i都是质数? 因为i是从2开始的,n能被i整除就会一直除以i,因此后面还能整除的i一定不会是前面遍历过的倍

python中的//运算符

https://www.cnblogs.com/z-x-y/p/9907430.html //运算符执行地板除法(向下取整除),它会返回整除结果的整数部分 print(7//2) #3 这里整除后会返回3.5

Python负数整除和取余

Python正数的整除 // 以及取余 % 与C++等语言相同,但当除数与被除数有一个是负数时就返回的结果有所区别 首先是整除,C++中是向0取整的, 而在Python中,整除的结果都是向下取整的,相当于用了floor()函数 // c++ 17 / 5 = 3 17 / -5 = -3 -17 / 5 = -3 -17 / -5 = 3 # pyth

整除分块

解决如下问题:给定 \(n\),求 \[\sum \limits_{i=1}^n \lfloor\cfrac{n}{i}\rfloor \]考虑画出 \(\cfrac{n}{i}\) 的函数图像,并将 \(\lfloor\cfrac{n}{i}\rfloor\) 相等的区间用颜色块表示出来:(取 \(n=7\)) 发现虽然 \(n=7\),但是只有 \(4\) 个带整数的块。 考虑 \[\sum \limits_{i=1}^

2022.6.28

SP26017 GCDMAT - GCD OF MATRIX 比较傻逼的题目,显然答案等于 \[\large sum_{d=1}^n \varphi_d \times \lfloor \frac n d \rfloor \times \lfloor \frac m d \rfloor \]容斥+整除分块即可。 SP26045 GCDMAT2 - GCD OF MATRIX (hard) 和上题相同,不过数据范围变大了,要卡常(

第18课 闰年与平年--逻辑运算符的优先级

第18课 闰年与平年--逻辑运算符的优先级 逻辑运算符的优先级:!->&&->|| 例程: 试编一个程序,输入一个年份,判断是闰年还是平年。 注:四年一闰,百年不闰,四百年再闰。 判断闰年的条件是:年份能被4整除但不能被100整除;或者能被400整除。 流程图如下: 代码如下: 1 /* 2 例程: 3 试编一个程

最大公约数

最大公约数 计算最大公约数 那如何计算最高最大公约数呢 比如 10    20 52    54     我们先设i为2 如果c和d都可以被i整除则记下 i+1后重复第二步直到i等于c或者d的时候 则曾经记下的最大的可以整除c和d的i就是最大公约数

陕西省第九届大学生程序设计竞赛 C.GCD 整除分块

  这题值得好好写写: 很快想到了如果一堆数的公因数都是a,那么必定都是a的倍数(废话) 那么如果在[l,r]里找到最小的a的倍数,再逐渐+a,+2*a,得到的一堆数必定gcd==a的条件 而且,这些数的个数还要至少为k 问题转化成了求a,a满足[l,r]里面是a的倍数的数大于等于k个 plan A: 写了个枚举,a的

TZOJ 4302:D1-数字整除 深搜

描述   使用每个数字 1, 2, 3,...,D1 恰好一次来形成 D1 数字,有多少可以被 D2 整除。    输入   输入数据将包含多个案例。每个案例将包含两个整数,D1 和 D2。D1 将代表唯一数字的数量(从 1 开始),这将形成数字。3 <= D1 <= 9。D2 代表除数。2 <= D2 <= 50。    输出   每

Leetcode 2269. 找到一个数字的 K 美丽值(可以,一次过)

一个整数 num 的 k 美丽值定义为 num 中符合以下条件的 子字符串 数目: 子字符串长度为 k 。 子字符串能整除 num 。 给你整数 num 和 k ,请你返回 num 的 k 美丽值。 注意: 允许有 前缀 0 。 0 不能整除任何值。 一个 子字符串 是一个字符串里的连续一段字符序列。 示例 1: 输入

求出100以内的质数

质数:除了1和它本身之外不能被任何数整除的数。 思路:可以先循环遍历1到100内的所有整数,然后使用循环嵌套,让每个数除以从2开始到小于该数一半的所有整数,如果能被其中的数整数,则该数不是质数,否则可判断是质数。 * 判断1~100之间有多少个素数,并输出所有素数 * 说明:素

判断一个数能否同时被3和5整除

描述 判断一个数n 能否同时被3和5整除,如果能同时被3和5整除输出YES,否则输出NO。 格式 输入格式 输入一行,包含一个整数n。( -1,000,000 ≤n ≤ 1,000,000) 输出格式 输出一行,如果能同时被3和5整除输出YES,否则输出NO。 样例 输入样例 15 输出样例 YES 代码 #inc

整除子串

整除子串 给定一个由数字组成的字符串 $s$,请你计算能够被 $4$ 整除的 $s$ 的子串数量。 子串可以包含前导 $0$。 例如,如果 $s$ 为 124 ,则满足条件的子串有 $4$ 个: 12 , 4 , 24 , 124 ;如果 $s$ 为 04 ,则满足条件的子串有 $3$ 个: 0 , 4 , 04 。 输入格式 一个由数字组

LeetCode第 78 场双周赛

题目: 一个整数 num 的 k 美丽值定义为 num 中符合以下条件的 子字符串 数目: 子字符串长度为 k 。子字符串能整除 num 。给你整数 num 和 k ,请你返回 num 的 k 美丽值。 注意: 允许有 前缀 0 。0 不能整除任何值。一个 子字符串 是一个字符串里的连续一段字符序

[AcWing 890] 能被整除的数

点击查看代码 容斥原理 (转自 OI Wiki) 证明:(用到了 $ (1 - 1)^{m} $ 的二项展开)

The month's days(leap year defination)

leap year: 1.  能被400整除的是闰年 2. 不能被100整除但能被4整除的是闰年   if a year is divisible by 4 and not divisible by 100 or divisible by 400,it is a leap year   Given a year and month, return the days of that month.   class Solution: """