检查一个数字是否能被 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
广告