整除

本文介绍了几种常用的整除判断法则,包括如何快速判断一个数能否被4、8、9、11、9091及101整除的方法。这些法则有助于提高数学运算效率,适用于竞赛数学和日常教学。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  (4):最后两位能被4整除的数,这个数就能被4整除。
  (8):最后三位能被8整除的数,这个数就能被8整除。
  (9):每一位上数字之和能被9整除,那么这个数就能被9整除。
  (11):将一个数从右往左数,将奇数位上的数与偶数位上的数分别相加,然后将两个数的和相减,如果差值能被11整除(包括差值为0)则原数可以被11整除。
  (9091):若一个整数的末5位与前面的数的差能被9091整除,则这个数能被9091整除
  (101):(a)若一个整数的末4位与前面的数的和能被101整除,则这个数能被101整除 (b)若一个整数的末2位与前面的数的差能被101整除,则这个数能被101整除

### 编程实现整除功能或整除算法代码 在编程中,整除通常涉及取模运算和判断一个是否能被另一个整除。以下是一些常见的整除实现方法及其代码示例。 #### 1. 判断一个是否能被另一个整除 可以通过取模运算符 `%` 来判断一个是否能被另一个整除。如果 `a % b == 0`,则说明 `a` 能被 `b` 整除[^2]。 ```java public class DivisibilityCheck { public static void main(String[] args) { int a = 15; int b = 3; if (a % b == 0) { System.out.println(a + " 可以被 " + b + " 整除"); } else { System.out.println(a + " 不能被 " + b + " 整除"); } } } ``` #### 2. 计算范围内所有能被特定整除之和 可以使用循环遍历指定范围内的所有,并通过取模运算筛选出能被特定整除,然后计算其总和[^2]。 ```java public class SumDivisibleBy3Or5 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("输入一个n: "); int n = scanner.nextInt(); long sum = method(n); System.out.println("1 到 " + n + " 之间能够被 3 或者 5 整除之和是 " + sum); scanner.close(); } private static long method(int n) { long sum = 0; for (int i = 1; i <= n; i++) { if (i % 3 == 0 || i % 5 == 0) { sum += i; } } return sum; } } ``` #### 3. 找到最小的“光棍”并判断是否能被整除 “光棍”是指由若干个字 `1` 组成的(如 `1`, `11`, `111` 等)。可以通过不断构造更大的光棍,直到找到能被给定整除的最小光棍[^3]。 ```c #include <stdio.h> int main() { long int singledog = 1, s; int x, cnt = 1; scanf("%d", &x); while (singledog % x != 0) { singledog = singledog * 10 + 1; cnt++; } s = singledog / x; printf("%ld %d\n", s, cnt); return 0; } ``` #### 4. RSA加密中的整除与模幂运算 在RSA加密算法中,整除和模幂运算是核心部分。为了防止字过大导致溢出,可以在每次乘法后立即取模[^1]。 ```python def modpow(base, exponent, modulus): result = 1 base = base % modulus while exponent > 0: if (exponent % 2) == 1: result = (result * base) % modulus exponent = exponent >> 1 base = (base * base) % modulus return result def encode(m, e, n): return modpow(m, e, n) def decode(c, d, n): return modpow(c, d, n) ``` #### 5. 偏序关系中的整除判断 在离散学中,偏序关系中的整除关系可以通过编程实现。例如,判断集合中是否存在某个是另一个的倍[^4]。 ```python def is_divisible(a, b): return a % b == 0 def find_divisors_in_set(s): divisors = [] for i in range(len(s)): for j in range(len(s)): if i != j and is_divisible(s[i], s[j]): divisors.append((s[i], s[j])) return divisors # 示例集合 set_elements = [1, 2, 3, 4, 6] print(find_divisors_in_set(set_elements)) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值