Run ID:60979

提交时间:2023-11-25 15:58:24

#include <stdio.h> #include <stdbool.h> // 求解模运算 int modulo(int a, int b) { return a % b; } bool is_solution(int n) { int a; // 自然数被8除余1 a = modulo(n, 8); if (a != 1) { return false; } // 商被8除也余1 a = modulo(n / 8, 8); if (a != 1) { return false; } // 第二次的商被8除后余7 a = modulo((n / 8) / 8, 8); if (a != 7) { return false; } // 自然数被17除余4 a = modulo(n, 17); if (a != 4) { return false; } // 所得的商被17除余15 a = modulo(n / 17, 17); if (a != 15) { return false; } // 最后得到一个商是a,即 (n/17)/8 ≡ a (mod 8) a = modulo((n / 17) / 8, 8); return a == 1; } int main() { int n; for (n = 1; n <= 1000000; n++) { if (is_solution(n)) { printf("找到满足条件的自然数:%d ", n); break; } } return 0; }