一些数的整除问题

  整除规则第一条(1):任何数都能被1整除。

  整除规则第二条(2):个位上是2、4、6、8、0的数都能被2整除。

  整除规则第三条(3):每一位上数字之和能被3整除,那么这个数就能被3整除。

  整除规则第四条(4):最后两位能被4整除的数,这个数就能被4整除。

  整除规则第五条(5):个位上是0或5的数都能被5整除。

  整除规则第六条(6):一个数只要能同时被2和3整除,那么这个数就能被6整除。

  整除规则第七条(7):把个位数字截去,再从余下的数中,减去个位数的2倍,差是7的倍数,则原数能被7整除。

  整除规则第八条(8):最后三位能被8整除的数,这个数就能被8整除。

  整除规则第九条(9):每一位上数字之和能被9整除,那么这个数就能被9整除。

  整除规则第十条(10): 若一个整数的末位是0,则这个数能被10整除

  整除规则第十一条(11):将一个数从右往左数,将奇数位上的数与偶数位上的数分别相加,然后将两个数的和相减,如果差值能被11整除(包括差值为0)则原数可以被11整除。

  整除规则第十二条(12):若一个整数能被3和4整除,则这个数能被12整除。

  整除规则第十三条(13):若一个整数的个位数字截去,再从余下的数中,加上个位数的4倍,如果和是13的倍数,则原数能被13整除。如果差太大或心算不易看出是否13的倍数,就需要继续上述「截尾、倍大、相加、验差」的过程,直到能清楚判断为止。

  整除规则第十四条(14):a 若一个整数的个位数字截去,再从余下的数中,减去个位数的5倍,如果差是17的倍数,则原数能被17整除。如果差太大或心算不易看出是否17的倍数,就需要继续上述「截尾、倍大、相减、验差」的过程,直到能清楚判断为止。b 若一个整数的末三位与3倍的前面的隔出数的差能被17整除,则这个数能被17整除。

  整除规则第十五条(15):a 若一个整数的个位数字截去,再从余下的数中,加上个位数的2倍,如果差是19的倍数,则原数能被19整除。如果差太大或心算不易看出是否19的倍数,就需要继续上述「截尾、倍大、相加、验差」的过程,直到能清楚判断为止。b 若一个整数的末三位与7倍的前面的隔出数的差能被19整除,则这个数能被19整除。

  整除规则第十六条(16):若一个整数的末四位与前面5倍的隔出数的差能被23整除,则这个数能被23整除

  整除规则第十七条(17):若一个整数的末四位与前面5倍的隔出数的差能被29整除,则这个数能被29整除

  整除规则第十八条(18):若一个整数的末四位与前面的数的差能被73整除,则这个数能被73整除

  整除规则第十九条(19):若一个整数的末四位与前面的数的差能被137整除,则这个数能被137整除

  整除规则第二十条(20):若一个整数的末四位与前面5倍的隔出数的差能被23(或29)整除,则这个数能被23整除

  整除规则第二十一条(21):若一个整数的末5位与前面的数的差能被9091整除,则这个数能被9091整除

  整除规则第二十二条(22):(9的无敌乱切)把一个整数分成若干段之和能被9整除,则这个数能被9整除

  整除规则第二十三条(23):(11的无敌乱切)把一个整数分成若干段,每段的末尾为奇数位加,偶数位减,结果能被11整除,则这个数能被11整除

  整除规则第二十四条(24):(a)若一个整数的末4位与前面的数的和能被101整除,则这个数能被101整除

  (b)若一个整数的末2位与前面的数的差能被101整除,则这个数能被101整除

  切记:0 不能做除数

摘自百度文库

时间: 2024-08-26 03:32:00

一些数的整除问题的相关文章

两数相除,判断小数位是否有限位

You are given several queries. Each query consists of three integers p, q and b. You need to answer whether the result of p/q in notation with base b is a finite fraction. A fraction in notation with base b is finite if it contains finite number of n

谜题3:长整除

这个谜题之所以被称为长整除是因为它所涉及的程序是有关两个long型数值整除的.被除数表示的是一天里的微秒数:而除数表示的是一天里的毫秒数.这个程序会打印出什么呢? public class LongDivision{ public static void main(String args[]){ final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000; final long MILLIS_PER_DAY = 24 * 60 * 60 * 10

LeetCode 两数相加

LeetCode 两数相加 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和. 您可以假设除了数字 0 之外,这两个数都不会以 0 开头. 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807 知识点: strrev(); // 实现字符

CodeForces 55D Beautiful numbers (数位DP)

题意:给求给定区间中该数能整除每一位的数的数量. 析:dp[i][j][k] 表示前 i 位,取模2520为 j,最小倍数是 k,但是这样,数组开不下啊,那怎么办呢,其实,0-9的最小公倍数的不同各类并没有那么多, 其实就48种,所以我们可以给这48个一个编号,然后就能开出来了. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <strin

关于阶乘

描述:给定两个数n,m,其中m是一个素数. 将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m. 注:^为求幂符号. 输入: 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后的s行, 每行有两个整数n,m. 输出: 输出m的个数 样例输入 3 100 5 16 2 1000000000 13 样例输出 24 15 83333329 当n,m体量很小的时候,用这个代码就可以AC: 1 #include <iostream> 2 using na

【练习赛2补题】poj 2325 Persistent Numbers 【高精度除法+贪心】

Description The multiplicative persistence of a number is defined by Neil Sloane (Neil J.A. Sloane in The Persistence of a Number published in Journal of Recreational Mathematics 6, 1973, pp. 97-98., 1973) as the number of steps to reach a one-digit

结对编程——paperOne基于java web的简易四则运算出题网站

项目成员:张金生     张政 需求分析: 1.要进行四则运算: 2.运算题目随机: 3.进行对错判断: 4.整数运算. 程序概要: 1.用JSP实现: 2.用户可选择题目数量: 3.答题页用表格列出: 4.包含用来填写答案的输入框: 5.答完后点击提交会直接显示相应题目的对错. 实现过程: 数据结构主要用到了数组 题目生成: 1 public String generateQuestion(int numOfOperand, int rangeMin, int rangMax, boolean

Codeforces Round 319 # div.1 &amp; 2 解题报告

Div. 2 Multiplication Table (577A) 题意: 给定n行n列的方阵,第i行第j列的数就是i*j,问有多少个格子上的数恰为x. 1<=n<=10^5, 1<=x<=10^9 题解: 送分题…对于每一行,判断是否存在数x即可…也可以枚举x的因子判断是否出现在表内… #include<cstdio>#include<cstring>inlineint read(){int s =0;char c;while((c=getchar())

数组拷贝、数组函数、通过数组函数来模拟数据结构的栈和队列、回调的意义、数组函数的排序问题、算法以及寻找素数的筛选法

1.数组的拷贝数组拷贝时指针的指向问题. 数组在拷贝时,指针的位置随之复制[这一点拷贝是完全一样]但是如果拷贝的数组的指针是非法的,那么拷贝出新指针的位置进行初始化<?php$arr1=array('123');end($arr1);next($arr1);//这个指针非法$arr2 = $arr1;//这里进行数组的拷贝var_dump(current($arr2));//得到指向‘123’元素的指针var_dump(current($arr1));//此时这个数组的指针有问题?> 但是拷贝