判断整数是否能被n整除

(1)1与0的特性: 
        1是任何整数的约数,即对于任何整数a,总有1|a. 
        0是任何非零整数的倍数,a≠0,a为整数,则a|0.

(2)若一个整数的末位是0、2、4、6或8,则这个数能被2整除。 
(3)若一个整数的数字和能被3整除,则这个整数能被3整除。 
(4) 若一个整数的末尾两位数能被4整除,则这个数能被4整除。 
(5)若一个整数的末位是0或5,则这个数能被5整除。 
(6)若一个整数能被2和3整除,则这个数能被6整除。 
(7)若一个整数的个位数字截去,再从余下的数中,减去个位数的2倍,如果差是7的倍数,则原数能被7整除。如果差太大或心算不易看出是否7的倍 数,就需要继续上述「截尾、倍大、相减、验差」的过程,直到能清楚判断为止。例如,判断133是否7的倍数的过程如下:13-3×2=7,所以133是7 的倍数;又例如判断6139是否7的倍数的过程如下:613-9×2=595 , 59-5×2=49,所以6139是7的倍数,余类推。 
(8)若一个整数的未尾三位数能被8整除,则这个数能被8整除。 
(9)若一个整数的数字和能被9整除,则这个整数能被9整除。 
(10)若一个整数的末位是0,则这个数能被10整除。 
(11)若一个整数的奇位数字之和与偶位数字之和的差能被11整除,则这个数能被11整除。11的倍数检验法也可用上述检查7的「割尾法」处理!过程唯一不同的是:倍数不是2而是1! 
(12)若一个整数能被3和4整除,则这个数能被12整除。 
(13)若一个整数的个位数字截去,再从余下的数中,加上个位数的4倍,如果差是13的倍数,则原数能被13整除。如果差太大或心算不易看出是否13的倍数,就需要继续上述「截尾、倍大、相加、验差」的过程,直到能清楚判断为止。 
(14)若一个整数的个位数字截去,再从余下的数中,减去个位数的5倍,如果差是17的倍数,则原数能被17整除。如果差太大或心算不易看出是否17的倍数,就需要继续上述「截尾、倍大、相减、验差」的过程,直到能清楚判断为止。 
(15)若一个整数的个位数字截去,再从余下的数中,加上个位数的2倍,如果差是19的倍数,则原数能被19整除。如果差太大或心算不易看出是否19的倍数,就需要继续上述「截尾、倍大、相加、验差」的过程,直到能清楚判断为止。 
(16)若一个整数的末三位与3倍的前面的隔出数的差能被17整除,则这个数能被17整除。 
(17)若一个整数的末三位与7倍的前面的隔出数的差能被19整除,则这个数能被19整除。 
(18)若一个整数的末四位与前面5倍的隔出数的差能被23(或29)整除,则这个数能被23整除

时间: 2024-08-10 17:08:59

判断整数是否能被n整除的相关文章

判断整数是否为质数?

import java.util.Scanner; /** * 1.编写程序,提示用户输入一个1至1000之间的整数, * 判断整数是否为质数? * 质数是除了1与它本身,不能被其它数整除的数. * @author Administrator * */ public class Test { public static void main(String[] args) { System.out.println("请输入一个1到1000之间的整数:"); Scanner input=ne

JavaScript中判断整数的方法

一.使用取余运算符判断 任何整数都会被1整除,即余数是0.利用这个规则来判断是否是整数. 1 2 3 4 5 function isInteger(obj) {     return obj%1 === 0 } isInteger(3) // true isInteger(3.3) // false 以上输出可以看出这个函数挺好用,但对于字符串和某些特殊值显得力不从心 1 2 3 4 isInteger('') // true isInteger('3') // true isInteger(t

【编程题目】判断整数序列是不是二元查找树的后序遍历结果,如果是,构建该二元查找树

判断整数序列是不是二元查找树的后序遍历结果题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果.如果是返回 true,否则返回 false.例如输入 5.7.6.9.11.10.8,由于这一整数序列是如下树的后序遍历结果:8/ \6 10/ \ / \5 7 9 11因此返回 true.如果输入 7.4.6.5,没有哪棵树的后序遍历的结果是这个序列,因此返回 false. 做这个题目的时候最开始傻了,想着从前到后根据数字的大小关系判断.后来幡然醒悟,根据后序遍历的特点.序列最后一

微软算法100题09 判断整数序列是不是二元查找树的后序遍历结果

9. 判断整数序列是不是二元查找树的后序遍历结果题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果.如果是返回true,否则返回false.例如输入5.7.6.9.11.10.8,由于这一整数序列是如下树的后序遍历结果:8/ \6 10/ \ / \5 7 9 11因此返回true.如果输入7.4.6.5,没有哪棵树的后序遍历的结果是这个序列,因此返回false. 思路:如果一个数组为BST的后序遍历结果 则最后一个元素必然为该BST的根节点 因为BST的特性是左子树必然全部小

9判断整数序列是不是二元查找树的后序遍历结果

转载请注明出处:http://www.cnblogs.com/wuzetiandaren/p/4252095.html 声明:现大部分文章为寻找问题时在网上相互转载,此博是为自己做个记录记录,方便自己也方便有类似问题的朋友,本文的思想也许有所借鉴,但源码均为本人实现,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果.如果是返回true,否则返回false. 解题思路: 1.输入一个整型数组a,根据该数组创建二

javascript 判断整数

判断整数的方法有两种:正则判断和逐字判断. 由于逐字判断效率过于低下,这里就不予描述了,有兴趣的看客可以自己谷歌. 1.正则判断 var r = /^\+?[1-9][0-9]*$/; //正整数 console.log(r.test(1.23)); http://jsfiddle.net/wzsdp9Lc/ 扩展列表 "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))

判断整数是否是回文数

关于 判断整数是否是回文数 几种解法:一是将整数转化为字符形式,但需要额外空间:二是将数字逆转得到另一个数,判断是否与原数相等,但有可能溢出: 符合要求的方法是从数的两端向中间推进判断:如相等则弃掉首尾数字: bool isPalindrome(int x) { if (x < 0) return false; int div = 1; while (x / div >= 10) { div *= 10; } //算数的量级 while (x != 0) { int l = x / div;

判断两个双精度浮点数是否整除!

这几天在开发公司项目中,由于属于期货产品,所以在此过程中遇到价格和最小单位价格的除法计算. 众所周知浮点数在计算机中为近视值.比如价格,客户端输入的价格为145.5,但是我的服务端断点显示为145.49999999999998. 当然从CTP服务器(期货那边的服务器)最小单位价格实为0.5,但是断点显示为0.50000000000003.所以利用fomd()函数的方法 变落空了. 这里提一下 函数名: fmod 功 能: 计算x对y的模, 即x/y的余数 用 法: double fmod(dou

Java 判断整数方法

今天写代码的时候突然想到要怎么来判断整数,然后通过判断是否是整数来处理相关的操作.开始想到了几个方法,比如百度到的 x(int) instanceof Integer,但是这样的话程序会报错,还有一个问题就是我开始的时候把Scanner输入时直接输入的整数,这样的话还没到判断就直接运行异常,显然是不对的.好了,废话不多说,直接上代码: package com.java; import java.util.Scanner; /** * 实现一个数字加密器,加密规则是: 加密结果 = (整数*10+