Как проверить делимость очень длинного числа в c ++?
я должен проверить, если (3 * N * N + 3 * п-1) делится на 2, 3 и 5 а также п может быть до 10 ^ 10 так длинный длинный int это также сомнительный работать, хотя я пытался сделать это:
unsigned long long int gg4,l;
gg4=(3*n*n+3*n-1);
if(gg4%3==0){
gg4=gg4/3;
}
if(gg4%2==0){
gg4=gg4/2;
}
if(gg4%5==0){
gg4=gg4/2;
}
Но я думаю, что это не будет работать из-за диапазона п, поэтому, пожалуйста, помогите! 🙂
после этого мне тоже нужно делить (3 * N * N + 3 * п-1) по этому фактору, поэтому, пожалуйста, помогите!
Чтобы расширить мой комментарий, есть два случая, когда (3*n*n+3*n-1) % 5 == 0
а именно
n = 5 * m + 1
n = 5 * m + 3
За m
целое число
Так что на самом деле вам ничего не нужно вычислять, вы можете работать напрямую с n
и даже не рассчитать 3 * n * n + 3 * n - 1
на первом месте.
Просто проверьте:
n % 5 == 1 || n % 5 == 3