检查一个数字是否能被 41 整除, C++


我们在此将会看到一个程序,它可以检查一个数字是否能被 41 整除。假设给定了一个数字 104413920565933。它是可以被 41 整除的。

为了检查可整除性,我们需要遵循以下规则 −

  • 每次提取该数字的末位数或截断后的数字

  • 从截断后的数字中减去 4 * (之前计算出的数字的末位数)

  • 重复以上步骤,直到有必要为止。

30873, so 3087 - 4*3 = 3075
3075, so 307 - 4 * 5 = 287
287, so 28 – 4 * 7 = 0
So, 30873 is divisible by 41.

示例

 实时演示

#include <iostream>
#include <algorithm>
using namespace std;
bool isDivisibleBy41(long long int n) {
   while (n / 100) {
      int last = n % 10;
      n /= 10; // Truncating the number
      n -= last * 4;
   }
   return (n % 41 == 0);
}
int main() {
   long long number = 104413920565933;
   if(isDivisibleBy41(number))
      cout << "Divisible";
   else
      cout << "Not Divisible";
}

输出

Divisible

更新日期: 2019 年 10 月 21 日

148 人次浏览

开启你的 职业生涯

完成课程即可获得认证

开始
广告