C++ 检查n值的倍数是否为模同余

C++ 检查n值的倍数是否为模同余,c++,cryptography,C++,Cryptography,现在我想检查一下if值 int a = pow(9.0,100); int b = 81; int c = 547; 当我使用a-b时,值应该是可以被c除而不需要余数 if( (a-b) % 547 == 0 ) cout << "Correct" << endl; else cout << "Wrong" << endl; if((a-b)%547==0) cout9^100很可能超出int的范围。因此您应该计算power

现在我想检查一下if值

int a = pow(9.0,100);
int b = 81;
int c = 547;
当我使用a-b时,值应该是可以被c除而不需要余数

if( (a-b) % 547 == 0 )
     cout << "Correct" << endl;
else
     cout << "Wrong" << endl;
if((a-b)%547==0)

cout9^100很可能超出int的范围。因此您应该计算powermod(9100,N),其中N可以是int,或者使用可以存储任意大小整数的类。9^100很可能超出int的范围。因此您应该计算powermod(9100,N)其中N可以是int,或者使用可以存储任意大小整数的类。9^100可能超出int的范围。因此,您应该计算powermod(9100,N),其中N可以是int,或者使用可以存储任意大小整数的类。因此,您应该计算powermod(9100,N)其中N可以是int或使用可以存储任意大小整数的类

9^100约为10^95,因此它会溢出int。不必计算10^95,然后进行模运算,您可以使用以下类似的方法使用普通int计算它:

int c=1;
for(int i=0; i<100; ++i) 
    c = (c * 9) % 547;
intc=1;

对于(int i=0;i9^100约为10^95,因此它会溢出int。不必计算10^95,然后进行模运算,您可以使用以下类似的方法计算正常int:

int c=1;
for(int i=0; i<100; ++i) 
    c = (c * 9) % 547;
intc=1;

对于(int i=0;i9^100约为10^95,因此它会溢出int。不必计算10^95,然后进行模运算,您可以使用以下类似的方法计算正常int:

int c=1;
for(int i=0; i<100; ++i) 
    c = (c * 9) % 547;
intc=1;

对于(int i=0;i9^100约为10^95,因此它会溢出int。不必计算10^95,然后进行模运算,您可以使用以下类似的方法计算正常int:

int c=1;
for(int i=0; i<100; ++i) 
    c = (c * 9) % 547;
intc=1;

对于(inti=0;iIt相当于检查(9^100)=b mod c,你可以使用另一个答案。但是我需要减去-81。那么如何计算呢?
(a-81)%547=0
a%547=81
(假设a是非负的,它在这里)。重复的,可能还有许多其他的。它相当于检查(9^100)=b mod c,你可以使用另一个答案。但是我需要减去-81。那么如何计算呢?
(a-81)%547=0
a%547=81
(假设a是非负的,它在这里)。重复的,可能还有许多其他的。这相当于检查(9^100)=b mod c,你可以使用另一个答案。但是我需要减去-81。那么如何计算呢?
(a-81)%547=0
a%547=81
(假设a是非负的,它在这里)。重复的,可能还有许多其他的。这相当于检查(9^100)=b mod c,你可以使用另一个答案。但是我需要减去-81。那么如何计算呢?
(a-81)%547=0
a%547=81
相同(假设a是非负的,在这里).重复的,可能还有很多其他的。我已经知道如何计算pow和模。但是我的第一个变量必须减去b。而且你的计算不涉及任何负数?试试我的答案中的函数:mod(a-b,547),即使没有pow()函数?我已经知道如何计算pow和modulo了..但是我的第一个变量必须减去b..而且你的计算不涉及任何负数?试试我答案中的函数:mod(a-b,547),即使没有pow()函数?我已经知道如何计算pow和modulo了..但是我的第一个变量必须减去b..而且你的计算不涉及任何负数?试试我答案中的函数:mod(a-b,547),即使没有pow()函数?我已经知道如何计算pow和模。但是我的第一个变量必须减去b。而且你的计算不涉及任何负数?试一下我的答案中的函数:mod(a-b,547),即使没有pow()函数?关键是你可以减少中间结果,这样你就永远不会出现数字溢出。有一个是
(a*b)mod N==((a mod N)*(b mod N))mod N
这样在计算powermod的过程中就不会有大于N²的数字。关键是你可以减少中间结果,这样你就不会得到数字溢出。一个是
(a*b)mod N==((a mod N)*(b mod N))mod N
这样在计算powermod时就不会有大于N²的数字。关键是你可以减少中间结果,这样就不会出现数字溢出。一个是
(a*b)mod N==((a mod N)*(b mod N))mod N
这样在计算powermod时就不会有大于N²的数字。关键是你可以减少中间结果,这样就不会出现数字溢出。一个是
(a*b)mod N==((a mod N)*(b mod N))mod N
这样在计算powermod时就不会有大于N²的数字。