A alta precisão "-" algoritmo
1.1 preparação de alta precisão "-", lembre-se o seguinte, o código estará recebendo!
(1) Em primeiro lugar, de alta precisão "+" mesma abordagem para armazenar grandes números inteiros
(2) seguido de final de armazenamento, considere como operação?
Em segundo lugar, de alta precisão "-" algoritmo de núcleo
2.1 armazenamento número inteiro grande
• Se está escrito '+' '-' '*' '/' que deve ser garantido o mesmo formato de armazenamento inteiro grande, porque muitas vezes não é apenas um símbolo de operação.
2.2 subtração da natureza
• grande inteiro subtração: C = A3A2A1A0-B2B1B0, dois casos devem ser considerados, se Ai-Bi-t Salvar o suficiente, a final mediana Ai-Bi-t, se não for reduzido, em comparação com o último dígito Ai-Bi-t + 10, de facto, em ambos os casos (t + 10)% 10 é.
2.3 Além disso, queremos saber
(1) aprender a julgar o tamanho de dois inteiros grandes na matriz, a mediana é geralmente diferente, maior comprimento que será maior, se o mesmo número de bits, a partir da comparação bit mais alto, que é o último bit da matriz .
(2) se A for maior ou igual a B -> operador directa, ou -> - (BA).
(3) A situação pode ocorrer zeros removido!
(4) Processamento Aqui dois inteiros positivos, se inteiro negativo, será capaz de converter bit | A | + | B | ou | A | - | B |.
Em terceiro lugar, de alta precisão "-" modelos de código
Adicionar um comentário
"""
bool cmp(vector<int> &A,vector<int> &B)//判断A是否大于等于B
{
if(A.size() != B.size()) return A.size() > B.size();
for(int i=A.size() - 1; i>=0; i--)
if(A[i]!=B[i])
return A[i]>B[i];
return true;
}
"""
}
// C = A - B, 满足A >= B, A >= 0, B >= 0
vector<int> sub(vector<int> &A, vector<int> &B)
{
vector<int> C;
for (int i = 0, t = 0; i < A.size(); i ++ )
{
t = A[i] - t;
if (i < B.size()) t -= B[i];
C.push_back((t + 10) % 10);//分两种情况考虑,如果Ai-Bi-t够减,则最终的位数为Ai-Bi-t,如果不够减,最终的位数则为Ai-Bi-t+10
if (t < 0) t = 1;
else t = 0;
}
while (C.size() > 1 && C.back() == 0) C.pop_back();//去掉前导零
return C;
}
作者:yxc
链接:https://www.acwing.com/problem/content/794/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。